SBBlock.h revision 69aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9
124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- SBBlock.h -----------------------------------------------*- C++ -*-===// 224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// The LLVM Compiler Infrastructure 424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// This file is distributed under the University of Illinois Open Source 624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// License. See LICENSE.TXT for details. 724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===// 924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef LLDB_SBBlock_h_ 1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define LLDB_SBBlock_h_ 1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 135f81547fd786584b10999c087528b323b5945896Eli Friedman#include "lldb/API/SBDefines.h" 1424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnernamespace lldb { 1624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerclass SBBlock 1824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner{ 1924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerpublic: 2024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner SBBlock (); 2224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner ~SBBlock (); 2424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool 2669aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton IsInlined () const; 2769aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 2869aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton bool 2924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner IsValid () const; 3024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3169aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton const char * 3269aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton GetInlinedName () const; 3369aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 3469aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton lldb::SBFileSpec 3569aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton GetInlinedCallSiteFile () const; 3669aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 3769aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton uint32_t 3869aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton GetInlinedCallSiteLine () const; 3969aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 4069aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton uint32_t 4169aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton GetInlinedCallSiteColumn () const; 4269aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 4369aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton lldb::SBBlock 4469aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton GetParent (); 4569aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 4669aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton lldb::SBBlock 4769aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton GetSibling (); 4869aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 4969aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton lldb::SBBlock 5069aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton GetFirstChild (); 5124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 5224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerprivate: 5324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner friend class SBFrame; 5424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner friend class SBSymbolContext; 5524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 5669aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton#ifndef SWIG 5769aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 5824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner SBBlock (lldb_private::Block *lldb_object_ptr); 5924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6069aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton void 6169aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton AppendVariables (bool can_create, bool get_parent_variables, lldb_private::VariableList *var_list); 6269aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton 6369aa5d9a7620a183cdc4da12cc87ea82e2ffcbf9Greg Clayton#endif 6424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6563094e0bb161580564954dee512955c1c79d3476Greg Clayton lldb_private::Block *m_opaque_ptr; 6624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner}; 6724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner} // namespace lldb 7024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 7124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif // LLDB_SBBlock_h_ 72