blob: c8a0874c7e359494f30a23ef9e08419207f723f4 [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"
Chris Lattner24943d22010-06-08 16:52:24 +000012
13#include "lldb/API/SBFileSpec.h"
14#include "lldb/Core/Stream.h"
15#include "lldb/Core/StreamFile.h"
16#include "lldb/Core/SourceManager.h"
17
18
19using namespace lldb;
20using namespace lldb_private;
21
22
23SBSourceManager::SBSourceManager (SourceManager& source_manager) :
24 m_source_manager (source_manager)
25{
26}
27
28SBSourceManager::~SBSourceManager()
29{
30}
31
32size_t
33SBSourceManager::DisplaySourceLinesWithLineNumbers
34(
35 const SBFileSpec &file,
36 uint32_t line,
37 uint32_t context_before,
38 uint32_t context_after,
39 const char* current_line_cstr,
40 FILE *f
41)
42{
43 if (f == NULL)
44 return 0;
45
46 if (file.IsValid())
47 {
48 StreamFile str (f);
49
50
51 return m_source_manager.DisplaySourceLinesWithLineNumbers (*file,
52 line,
53 context_before,
54 context_after,
55 current_line_cstr,
56 &str);
57 }
58 return 0;
59}
60
61SourceManager &
62SBSourceManager::GetLLDBManager ()
63{
64 return m_source_manager;
65}