diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 | 
| commit | 9e6d35490a6542f9c97607f93c2ef8ca8e03cbcc (patch) | |
| tree | dd2a1ddf0476664c2b823409c36cbccd52662ca7 /scripts/interface/SBSourceManager.i | |
| parent | 3bd2e91faeb9eeec1aae82c64a3253afff551cfd (diff) | |
Notes
Diffstat (limited to 'scripts/interface/SBSourceManager.i')
| -rw-r--r-- | scripts/interface/SBSourceManager.i | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/scripts/interface/SBSourceManager.i b/scripts/interface/SBSourceManager.i new file mode 100644 index 000000000000..09cd449149d9 --- /dev/null +++ b/scripts/interface/SBSourceManager.i @@ -0,0 +1,54 @@ +//===-- SWIG Interface for SBSourceManager ----------------------*- C++ -*-===// +// +//                     The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +namespace lldb { + +%feature("docstring", +"Represents a central authority for displaying source code. + +For example (from test/source-manager/TestSourceManager.py), + +        # Create the filespec for 'main.c'. +        filespec = lldb.SBFileSpec('main.c', False) +        source_mgr = self.dbg.GetSourceManager() +        # Use a string stream as the destination. +        stream = lldb.SBStream() +        source_mgr.DisplaySourceLinesWithLineNumbers(filespec, +                                                     self.line, +                                                     2, # context before +                                                     2, # context after +                                                     '=>', # prefix for current line +                                                     stream) + +        #    2     +        #    3    int main(int argc, char const *argv[]) { +        # => 4        printf('Hello world.\\n'); // Set break point at this line. +        #    5        return 0; +        #    6    } +        self.expect(stream.GetData(), 'Source code displayed correctly', +                    exe=False, +            patterns = ['=> %d.*Hello world' % self.line]) +") SBSourceManager; +class SBSourceManager +{ +public: +    SBSourceManager (const lldb::SBSourceManager &rhs); +     +    ~SBSourceManager(); + +    size_t +    DisplaySourceLinesWithLineNumbers (const lldb::SBFileSpec &file, +                                       uint32_t line, +                                       uint32_t context_before, +                                       uint32_t context_after, +                                       const char* current_line_cstr, +                                       lldb::SBStream &s); +}; + +} // namespace lldb | 
