blob: 8a2e88569e43671c5544792c852d9ab2c3fc550c [file] [log] [blame]
Johnny Chen6cf1bc32011-07-18 22:11:53 +00001//===-- SWIG Interface for SBCompileUnit ------------------------*- 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
10namespace lldb {
11
12%feature("docstring",
13"Represents a compilation unit, or compiled source file.
14
15SBCompileUnit supports line entry iteration. For example,
16
17 for lineEntry in compileUnit:
18 print 'line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
19 lineEntry.GetLine())
20 print 'start addr: %s' % str(lineEntry.GetStartAddress())
21 print 'end addr: %s' % str(lineEntry.GetEndAddress())
22
23produces:
24
25line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
26start addr: a.out[0x100000d98]
27end addr: a.out[0x100000da3]
28line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
29start addr: a.out[0x100000da3]
30end addr: a.out[0x100000da9]
31line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
32start addr: a.out[0x100000da9]
33end addr: a.out[0x100000db6]
34line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
35start addr: a.out[0x100000db6]
36end addr: a.out[0x100000dbc]
37...
38") SBCompileUnit;
39class SBCompileUnit
40{
41public:
42
43 SBCompileUnit ();
44
45 SBCompileUnit (const lldb::SBCompileUnit &rhs);
46
47 ~SBCompileUnit ();
48
49 bool
50 IsValid () const;
51
52 lldb::SBFileSpec
53 GetFileSpec () const;
54
55 uint32_t
56 GetNumLineEntries () const;
57
58 lldb::SBLineEntry
59 GetLineEntryAtIndex (uint32_t idx) const;
60
61 uint32_t
62 FindLineEntryIndex (uint32_t start_idx,
63 uint32_t line,
64 lldb::SBFileSpec *inline_file_spec) const;
65
66 bool
67 GetDescription (lldb::SBStream &description);
68};
69
70} // namespace lldb