LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- File List

SBCompileUnit.h
Go to the documentation of this file.
1 //===-- SBCompileUnit.h -----------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLDB_SBCompileUnit_h_
11 #define LLDB_SBCompileUnit_h_
12
13 #include "lldb/API/SBDefines.h"
14 #include "lldb/API/SBFileSpec.h"
15
16 namespace lldb {
17
18 class LLDB_API SBCompileUnit {
19 public:
20 SBCompileUnit();
21
22 SBCompileUnit(const lldb::SBCompileUnit &rhs);
23
24 ~SBCompileUnit();
25
26 const lldb::SBCompileUnit &operator=(const lldb::SBCompileUnit &rhs);
27
28 bool IsValid() const;
29
30 lldb::SBFileSpec GetFileSpec() const;
31
32 uint32_t GetNumLineEntries() const;
33
34 lldb::SBLineEntry GetLineEntryAtIndex(uint32_t idx) const;
35
36 uint32_t FindLineEntryIndex(uint32_t start_idx, uint32_t line,
37 lldb::SBFileSpec *inline_file_spec) const;
38
39 uint32_t FindLineEntryIndex(uint32_t start_idx, uint32_t line,
40 lldb::SBFileSpec *inline_file_spec,
41 bool exact) const;
42
43 SBFileSpec GetSupportFileAtIndex(uint32_t idx) const;
44
45 uint32_t GetNumSupportFiles() const;
46
47 uint32_t FindSupportFileIndex(uint32_t start_idx, const SBFileSpec &sb_file,
48 bool full);
49
50 //------------------------------------------------------------------
51 /// Get all types matching \a type_mask from debug info in this
52 /// compile unit.
53 ///
54 /// @param[in] type_mask
55 /// A bitfield that consists of one or more bits logically OR'ed
56 /// together from the lldb::TypeClass enumeration. This allows
57 /// you to request only structure types, or only class, struct
58 /// and union types. Passing in lldb::eTypeClassAny will return
59 /// all types found in the debug information for this compile
60 /// unit.
61 ///
62 /// @return
63 /// A list of types in this compile unit that match \a type_mask
64 //------------------------------------------------------------------
65 lldb::SBTypeList GetTypes(uint32_t type_mask = lldb::eTypeClassAny);
66
67 lldb::LanguageType GetLanguage();
68
69 bool operator==(const lldb::SBCompileUnit &rhs) const;
70
71 bool operator!=(const lldb::SBCompileUnit &rhs) const;
72
73 bool GetDescription(lldb::SBStream &description);
74
75 private:
76 friend class SBAddress;
77 friend class SBFrame;
78 friend class SBSymbolContext;
79 friend class SBModule;
80
81 SBCompileUnit(lldb_private::CompileUnit *lldb_object_ptr);
82
83 const lldb_private::CompileUnit *operator->() const;
84
85 const lldb_private::CompileUnit &operator*() const;
86
87 lldb_private::CompileUnit *get();
88
89 void reset(lldb_private::CompileUnit *lldb_object_ptr);
90
91 lldb_private::CompileUnit *m_opaque_ptr;
92 };
93
94 } // namespace lldb
95
96 #endif // LLDB_SBCompileUnit_h_
lldb::SBSymbolContext
Definition: SBSymbolContext.h:23
lldb::SBFrame
Definition: SBFrame.h:18
SBDefines.h
lldb::SBCompileUnit
class LLDB_API SBCompileUnit
Definition: SBDefines.h:42
lldb::SBLineEntry
Definition: SBLineEntry.h:19
lldb::SBCompileUnit
Definition: SBCompileUnit.h:18
lldb::SBAddress
Definition: SBAddress.h:18
lldb::SBFileSpec
Definition: SBFileSpec.h:17
lldb::SBModule
Definition: SBModule.h:21
lldb::SBTypeList
Definition: SBType.h:229
SBFileSpec.h
lldb::SBStream
Definition: SBStream.h:19