#ifndef LLDB_SBBlockBinding_h_
#define LLDB_SBBlockBinding_h_
#include "lldb/Bindings/SBBindingDefines.h"
#ifdef __cplusplus
extern "C" {
#endif
LLDB_API SBBlockRef CreateSBBlock(void);
LLDB_API void DisposeSBBlock(SBBlockRef instance);
LLDB_API bool SBBlockIsInlined(SBBlockRef instance);
LLDB_API bool SBBlockIsValid(SBBlockRef instance);
LLDB_API const char *SBBlockGetInlinedName(SBBlockRef instance);
LLDB_API SBFileSpecRef SBBlockGetInlinedCallSiteFile(SBBlockRef instance);
LLDB_API unsigned int SBBlockGetInlinedCallSiteLine(SBBlockRef instance);
LLDB_API unsigned int SBBlockGetInlinedCallSiteColumn(SBBlockRef instance);
LLDB_API SBBlockRef SBBlockGetParent(SBBlockRef instance);
LLDB_API SBBlockRef SBBlockGetSibling(SBBlockRef instance);
LLDB_API SBBlockRef SBBlockGetFirstChild(SBBlockRef instance);
LLDB_API unsigned int SBBlockGetNumRanges(SBBlockRef instance);
LLDB_API SBAddressRef SBBlockGetRangeStartAddress(SBBlockRef instance, uint32_t idx);
LLDB_API SBAddressRef SBBlockGetRangeEndAddress(SBBlockRef instance, uint32_t idx);
LLDB_API unsigned int SBBlockGetRangeIndexForBlockAddress(SBBlockRef instance, SBAddressRef block_addr);
LLDB_API SBValueListRef SBBlockGetVariables(SBBlockRef instance, SBFrameRef frame, bool arguments,
bool locals, bool statics, ENUM(DynamicValueType) use_dynamic);
LLDB_API SBValueListRef
SBBlockGetVariables2(SBBlockRef instance, SBTargetRef target, bool arguments, bool locals, bool statics);
LLDB_API SBBlockRef SBBlockGetContainingInlinedBlock(SBBlockRef instance);
LLDB_API bool SBBlockGetDescription(SBBlockRef instance, SBStreamRef description);
#ifdef __cplusplus
}
#endif
#endif