//===-- 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