1061da546Spatrick //===-- SWIG Interface for SBSourceManager ----------------------*- C++ -*-===// 2061da546Spatrick // 3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6061da546Spatrick // 7061da546Spatrick //===----------------------------------------------------------------------===// 8061da546Spatrick 9061da546Spatrick namespace lldb { 10061da546Spatrick 11061da546Spatrick %feature("docstring", 12061da546Spatrick "Represents a central authority for displaying source code. 13061da546Spatrick 14*be691f3bSpatrick For example (from test/source-manager/TestSourceManager.py), :: 15061da546Spatrick 16061da546Spatrick # Create the filespec for 'main.c'. 17061da546Spatrick filespec = lldb.SBFileSpec('main.c', False) 18061da546Spatrick source_mgr = self.dbg.GetSourceManager() 19061da546Spatrick # Use a string stream as the destination. 20061da546Spatrick stream = lldb.SBStream() 21061da546Spatrick source_mgr.DisplaySourceLinesWithLineNumbers(filespec, 22061da546Spatrick self.line, 23061da546Spatrick 2, # context before 24061da546Spatrick 2, # context after 25061da546Spatrick '=>', # prefix for current line 26061da546Spatrick stream) 27061da546Spatrick 28061da546Spatrick # 2 29061da546Spatrick # 3 int main(int argc, char const *argv[]) { 30061da546Spatrick # => 4 printf('Hello world.\\n'); // Set break point at this line. 31061da546Spatrick # 5 return 0; 32061da546Spatrick # 6 } 33061da546Spatrick self.expect(stream.GetData(), 'Source code displayed correctly', 34061da546Spatrick exe=False, 35061da546Spatrick patterns = ['=> %d.*Hello world' % self.line])") SBSourceManager; 36061da546Spatrick class SBSourceManager 37061da546Spatrick { 38061da546Spatrick public: 39061da546Spatrick SBSourceManager (const lldb::SBSourceManager &rhs); 40061da546Spatrick 41061da546Spatrick ~SBSourceManager(); 42061da546Spatrick 43061da546Spatrick size_t 44061da546Spatrick DisplaySourceLinesWithLineNumbers (const lldb::SBFileSpec &file, 45061da546Spatrick uint32_t line, 46061da546Spatrick uint32_t context_before, 47061da546Spatrick uint32_t context_after, 48061da546Spatrick const char* current_line_cstr, 49061da546Spatrick lldb::SBStream &s); 50061da546Spatrick size_t 51061da546Spatrick DisplaySourceLinesWithLineNumbersAndColumn (const lldb::SBFileSpec &file, 52061da546Spatrick uint32_t line, uint32_t column, 53061da546Spatrick uint32_t context_before, 54061da546Spatrick uint32_t context_after, 55061da546Spatrick const char* current_line_cstr, 56061da546Spatrick lldb::SBStream &s); 57061da546Spatrick }; 58061da546Spatrick 59061da546Spatrick } // namespace lldb 60