SBSourceManager.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //===-- SBSourceManager.h ---------------------------------------*- C++ -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. #ifndef LLDB_API_SBSOURCEMANAGER_H
  9. #define LLDB_API_SBSOURCEMANAGER_H
  10. #include "lldb/API/SBDefines.h"
  11. #include <cstdio>
  12. namespace lldb {
  13. class LLDB_API SBSourceManager {
  14. public:
  15. SBSourceManager(const SBDebugger &debugger);
  16. SBSourceManager(const SBTarget &target);
  17. SBSourceManager(const SBSourceManager &rhs);
  18. ~SBSourceManager();
  19. const lldb::SBSourceManager &operator=(const lldb::SBSourceManager &rhs);
  20. size_t DisplaySourceLinesWithLineNumbers(
  21. const lldb::SBFileSpec &file, uint32_t line, uint32_t context_before,
  22. uint32_t context_after, const char *current_line_cstr, lldb::SBStream &s);
  23. size_t DisplaySourceLinesWithLineNumbersAndColumn(
  24. const lldb::SBFileSpec &file, uint32_t line, uint32_t column,
  25. uint32_t context_before, uint32_t context_after,
  26. const char *current_line_cstr, lldb::SBStream &s);
  27. protected:
  28. friend class SBCommandInterpreter;
  29. friend class SBDebugger;
  30. private:
  31. std::unique_ptr<lldb_private::SourceManagerImpl> m_opaque_up;
  32. };
  33. } // namespace lldb
  34. #endif // LLDB_API_SBSOURCEMANAGER_H