diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 20:51:52 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 20:51:52 +0000 | 
| commit | 5f29bb8a675e8f96452b632e7129113f7dec850e (patch) | |
| tree | 3d3f2a0d3ad10872a4dcaba8ec8d1d20c87ab147 /source/API/SBSourceManager.cpp | |
| parent | 88c643b6fec27eec436c8d138fee6346e92337d6 (diff) | |
Notes
Diffstat (limited to 'source/API/SBSourceManager.cpp')
| -rw-r--r-- | source/API/SBSourceManager.cpp | 70 | 
1 files changed, 59 insertions, 11 deletions
| diff --git a/source/API/SBSourceManager.cpp b/source/API/SBSourceManager.cpp index 1d47cc034e351..9c4ce3c7f4e3a 100644 --- a/source/API/SBSourceManager.cpp +++ b/source/API/SBSourceManager.cpp @@ -1,13 +1,13 @@  //===-- SBSourceManager.cpp -------------------------------------*- C++ -*-===//  // -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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  //  //===----------------------------------------------------------------------===//  #include "lldb/API/SBSourceManager.h" +#include "SBReproducerPrivate.h"  #include "lldb/API/SBDebugger.h"  #include "lldb/API/SBStream.h"  #include "lldb/API/SBTarget.h" @@ -72,24 +72,36 @@ using namespace lldb;  using namespace lldb_private;  SBSourceManager::SBSourceManager(const SBDebugger &debugger) { -  m_opaque_ap.reset(new SourceManagerImpl(debugger.get_sp())); +  LLDB_RECORD_CONSTRUCTOR(SBSourceManager, (const lldb::SBDebugger &), +                          debugger); + +  m_opaque_up.reset(new SourceManagerImpl(debugger.get_sp()));  }  SBSourceManager::SBSourceManager(const SBTarget &target) { -  m_opaque_ap.reset(new SourceManagerImpl(target.GetSP())); +  LLDB_RECORD_CONSTRUCTOR(SBSourceManager, (const lldb::SBTarget &), target); + +  m_opaque_up.reset(new SourceManagerImpl(target.GetSP()));  }  SBSourceManager::SBSourceManager(const SBSourceManager &rhs) { +  LLDB_RECORD_CONSTRUCTOR(SBSourceManager, (const lldb::SBSourceManager &), +                          rhs); +    if (&rhs == this)      return; -  m_opaque_ap.reset(new SourceManagerImpl(*(rhs.m_opaque_ap.get()))); +  m_opaque_up.reset(new SourceManagerImpl(*(rhs.m_opaque_up.get())));  }  const lldb::SBSourceManager &SBSourceManager::  operator=(const lldb::SBSourceManager &rhs) { -  m_opaque_ap.reset(new SourceManagerImpl(*(rhs.m_opaque_ap.get()))); -  return *this; +  LLDB_RECORD_METHOD(const lldb::SBSourceManager &, +                     SBSourceManager, operator=,(const lldb::SBSourceManager &), +                     rhs); + +  m_opaque_up.reset(new SourceManagerImpl(*(rhs.m_opaque_up.get()))); +  return LLDB_RECORD_RESULT(*this);  }  SBSourceManager::~SBSourceManager() {} @@ -97,6 +109,12 @@ SBSourceManager::~SBSourceManager() {}  size_t SBSourceManager::DisplaySourceLinesWithLineNumbers(      const SBFileSpec &file, uint32_t line, uint32_t context_before,      uint32_t context_after, const char *current_line_cstr, SBStream &s) { +  LLDB_RECORD_METHOD(size_t, SBSourceManager, DisplaySourceLinesWithLineNumbers, +                     (const lldb::SBFileSpec &, uint32_t, uint32_t, uint32_t, +                      const char *, lldb::SBStream &), +                     file, line, context_before, context_after, +                     current_line_cstr, s); +    const uint32_t column = 0;    return DisplaySourceLinesWithLineNumbersAndColumn(        file.ref(), line, column, context_before, context_after, @@ -107,10 +125,40 @@ size_t SBSourceManager::DisplaySourceLinesWithLineNumbersAndColumn(      const SBFileSpec &file, uint32_t line, uint32_t column,      uint32_t context_before, uint32_t context_after,      const char *current_line_cstr, SBStream &s) { -  if (m_opaque_ap == NULL) +  LLDB_RECORD_METHOD( +      size_t, SBSourceManager, DisplaySourceLinesWithLineNumbersAndColumn, +      (const lldb::SBFileSpec &, uint32_t, uint32_t, uint32_t, uint32_t, +       const char *, lldb::SBStream &), +      file, line, column, context_before, context_after, current_line_cstr, s); + +  if (m_opaque_up == nullptr)      return 0; -  return m_opaque_ap->DisplaySourceLinesWithLineNumbers( +  return m_opaque_up->DisplaySourceLinesWithLineNumbers(        file.ref(), line, column, context_before, context_after,        current_line_cstr, s.get());  } + +namespace lldb_private { +namespace repro { + +template <> +void RegisterMethods<SBSourceManager>(Registry &R) { +  LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBDebugger &)); +  LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBTarget &)); +  LLDB_REGISTER_CONSTRUCTOR(SBSourceManager, (const lldb::SBSourceManager &)); +  LLDB_REGISTER_METHOD( +      const lldb::SBSourceManager &, +      SBSourceManager, operator=,(const lldb::SBSourceManager &)); +  LLDB_REGISTER_METHOD(size_t, SBSourceManager, +                       DisplaySourceLinesWithLineNumbers, +                       (const lldb::SBFileSpec &, uint32_t, uint32_t, +                        uint32_t, const char *, lldb::SBStream &)); +  LLDB_REGISTER_METHOD(size_t, SBSourceManager, +                       DisplaySourceLinesWithLineNumbersAndColumn, +                       (const lldb::SBFileSpec &, uint32_t, uint32_t, +                        uint32_t, uint32_t, const char *, lldb::SBStream &)); +} + +} +} | 
