*** to conform to clang-format’s LLVM style. This kind of mass change has
*** two obvious implications:
Firstly, merging this particular commit into a downstream fork may be a huge
effort. Alternatively, it may be worth merging all changes up to this commit,
performing the same reformatting operation locally, and then discarding the
merge for this particular commit. The commands used to accomplish this
reformatting were as follows (with current working directory as the root of
the repository):
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} +
find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;
The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.
Secondly, “blame” style tools will generally point to this commit instead of
a meaningful prior commit. There are alternatives available that will attempt
to look through this change and find the appropriate prior commit. YMMV.
llvm-svn: 280751
97 lines
2.6 KiB
C++
97 lines
2.6 KiB
C++
//===-- SBBlock.h -----------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLDB_SBBlock_h_
|
|
#define LLDB_SBBlock_h_
|
|
|
|
#include "lldb/API/SBDefines.h"
|
|
#include "lldb/API/SBFrame.h"
|
|
#include "lldb/API/SBTarget.h"
|
|
#include "lldb/API/SBValueList.h"
|
|
|
|
namespace lldb {
|
|
|
|
class LLDB_API SBBlock {
|
|
public:
|
|
SBBlock();
|
|
|
|
SBBlock(const lldb::SBBlock &rhs);
|
|
|
|
~SBBlock();
|
|
|
|
const lldb::SBBlock &operator=(const lldb::SBBlock &rhs);
|
|
|
|
bool IsInlined() const;
|
|
|
|
bool IsValid() const;
|
|
|
|
const char *GetInlinedName() const;
|
|
|
|
lldb::SBFileSpec GetInlinedCallSiteFile() const;
|
|
|
|
uint32_t GetInlinedCallSiteLine() const;
|
|
|
|
uint32_t GetInlinedCallSiteColumn() const;
|
|
|
|
lldb::SBBlock GetParent();
|
|
|
|
lldb::SBBlock GetSibling();
|
|
|
|
lldb::SBBlock GetFirstChild();
|
|
|
|
uint32_t GetNumRanges();
|
|
|
|
lldb::SBAddress GetRangeStartAddress(uint32_t idx);
|
|
|
|
lldb::SBAddress GetRangeEndAddress(uint32_t idx);
|
|
|
|
uint32_t GetRangeIndexForBlockAddress(lldb::SBAddress block_addr);
|
|
|
|
lldb::SBValueList GetVariables(lldb::SBFrame &frame, bool arguments,
|
|
bool locals, bool statics,
|
|
lldb::DynamicValueType use_dynamic);
|
|
|
|
lldb::SBValueList GetVariables(lldb::SBTarget &target, bool arguments,
|
|
bool locals, bool statics);
|
|
//------------------------------------------------------------------
|
|
/// Get the inlined block that contains this block.
|
|
///
|
|
/// @return
|
|
/// If this block is inlined, it will return this block, else
|
|
/// parent blocks will be searched to see if any contain this
|
|
/// block and are themselves inlined. An invalid SBBlock will
|
|
/// be returned if this block nor any parent blocks are inlined
|
|
/// function blocks.
|
|
//------------------------------------------------------------------
|
|
lldb::SBBlock GetContainingInlinedBlock();
|
|
|
|
bool GetDescription(lldb::SBStream &description);
|
|
|
|
private:
|
|
friend class SBAddress;
|
|
friend class SBFrame;
|
|
friend class SBFunction;
|
|
friend class SBSymbolContext;
|
|
|
|
lldb_private::Block *GetPtr();
|
|
|
|
void SetPtr(lldb_private::Block *lldb_object_ptr);
|
|
|
|
SBBlock(lldb_private::Block *lldb_object_ptr);
|
|
|
|
void AppendVariables(bool can_create, bool get_parent_variables,
|
|
lldb_private::VariableList *var_list);
|
|
|
|
lldb_private::Block *m_opaque_ptr;
|
|
};
|
|
|
|
} // namespace lldb
|
|
|
|
#endif // LLDB_SBBlock_h_
|