blob: 16193dd027bce5b5aefd23eaaf089588cf247f7d [file] [log] [blame]
Chris Lattner24943d22010-06-08 16:52:24 +00001//===-- SBSourceManager.cpp -------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10
Eli Friedman7a62c8b2010-06-09 07:44:37 +000011#include "lldb/API/SBSourceManager.h"
Johnny Chene5791dd2010-12-11 01:20:39 +000012#include "lldb/API/SBStream.h"
Chris Lattner24943d22010-06-08 16:52:24 +000013
14#include "lldb/API/SBFileSpec.h"
15#include "lldb/Core/Stream.h"
16#include "lldb/Core/StreamFile.h"
17#include "lldb/Core/SourceManager.h"
18
19
20using namespace lldb;
21using namespace lldb_private;
22
23
Greg Clayton538eb822010-11-05 23:17:00 +000024SBSourceManager::SBSourceManager (SourceManager* source_manager) :
25 m_opaque_ptr (source_manager)
Chris Lattner24943d22010-06-08 16:52:24 +000026{
27}
28
29SBSourceManager::~SBSourceManager()
30{
31}
32
Greg Clayton538eb822010-11-05 23:17:00 +000033SBSourceManager::SBSourceManager(const SBSourceManager &rhs) :
34 m_opaque_ptr (rhs.m_opaque_ptr)
35{
36}
37
38const SBSourceManager &
39SBSourceManager::operator = (const SBSourceManager &rhs)
40{
41 m_opaque_ptr = rhs.m_opaque_ptr;
42 return *this;
43}
44
Chris Lattner24943d22010-06-08 16:52:24 +000045size_t
46SBSourceManager::DisplaySourceLinesWithLineNumbers
47(
48 const SBFileSpec &file,
49 uint32_t line,
50 uint32_t context_before,
51 uint32_t context_after,
52 const char* current_line_cstr,
Johnny Chene5791dd2010-12-11 01:20:39 +000053 SBStream &s
Chris Lattner24943d22010-06-08 16:52:24 +000054)
55{
Greg Clayton538eb822010-11-05 23:17:00 +000056 if (m_opaque_ptr == NULL)
57 return 0;
58
Johnny Chene5791dd2010-12-11 01:20:39 +000059 if (s.m_opaque_ap.get() == NULL)
Chris Lattner24943d22010-06-08 16:52:24 +000060 return 0;
61
62 if (file.IsValid())
63 {
Greg Claytonff44ab42011-04-23 02:04:55 +000064 return m_opaque_ptr->DisplaySourceLinesWithLineNumbers (NULL,
65 *file,
Greg Clayton538eb822010-11-05 23:17:00 +000066 line,
67 context_before,
68 context_after,
69 current_line_cstr,
Johnny Chene5791dd2010-12-11 01:20:39 +000070 s.m_opaque_ap.get());
Chris Lattner24943d22010-06-08 16:52:24 +000071 }
72 return 0;
73}