diff options
Diffstat (limited to 'lldb/bindings/interface/SBSourceManager.i')
| -rw-r--r-- | lldb/bindings/interface/SBSourceManager.i | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/lldb/bindings/interface/SBSourceManager.i b/lldb/bindings/interface/SBSourceManager.i new file mode 100644 index 0000000000000..dfbdc612a06eb --- /dev/null +++ b/lldb/bindings/interface/SBSourceManager.i @@ -0,0 +1,59 @@ +//===-- SWIG Interface for SBSourceManager ----------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +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); + size_t + DisplaySourceLinesWithLineNumbersAndColumn (const lldb::SBFileSpec &file, + uint32_t line, uint32_t column, + uint32_t context_before, + uint32_t context_after, + const char* current_line_cstr, + lldb::SBStream &s); +}; + +} // namespace lldb |
