1*30fdc8d8SChris Lattner //===-- SBSourceManager.cpp -------------------------------------*- C++ -*-===//
2*30fdc8d8SChris Lattner //
3*30fdc8d8SChris Lattner //                     The LLVM Compiler Infrastructure
4*30fdc8d8SChris Lattner //
5*30fdc8d8SChris Lattner // This file is distributed under the University of Illinois Open Source
6*30fdc8d8SChris Lattner // License. See LICENSE.TXT for details.
7*30fdc8d8SChris Lattner //
8*30fdc8d8SChris Lattner //===----------------------------------------------------------------------===//
9*30fdc8d8SChris Lattner 
10*30fdc8d8SChris Lattner 
11*30fdc8d8SChris Lattner #include "SBSourceManager.h"
12*30fdc8d8SChris Lattner 
13*30fdc8d8SChris Lattner #include "lldb/API/SBFileSpec.h"
14*30fdc8d8SChris Lattner #include "lldb/Core/Stream.h"
15*30fdc8d8SChris Lattner #include "lldb/Core/StreamFile.h"
16*30fdc8d8SChris Lattner #include "lldb/Core/SourceManager.h"
17*30fdc8d8SChris Lattner 
18*30fdc8d8SChris Lattner 
19*30fdc8d8SChris Lattner using namespace lldb;
20*30fdc8d8SChris Lattner using namespace lldb_private;
21*30fdc8d8SChris Lattner 
22*30fdc8d8SChris Lattner 
23*30fdc8d8SChris Lattner SBSourceManager::SBSourceManager (SourceManager& source_manager) :
24*30fdc8d8SChris Lattner     m_source_manager (source_manager)
25*30fdc8d8SChris Lattner {
26*30fdc8d8SChris Lattner }
27*30fdc8d8SChris Lattner 
28*30fdc8d8SChris Lattner SBSourceManager::~SBSourceManager()
29*30fdc8d8SChris Lattner {
30*30fdc8d8SChris Lattner }
31*30fdc8d8SChris Lattner 
32*30fdc8d8SChris Lattner size_t
33*30fdc8d8SChris Lattner SBSourceManager::DisplaySourceLinesWithLineNumbers
34*30fdc8d8SChris Lattner (
35*30fdc8d8SChris Lattner     const SBFileSpec &file,
36*30fdc8d8SChris Lattner     uint32_t line,
37*30fdc8d8SChris Lattner     uint32_t context_before,
38*30fdc8d8SChris Lattner     uint32_t context_after,
39*30fdc8d8SChris Lattner     const char* current_line_cstr,
40*30fdc8d8SChris Lattner     FILE *f
41*30fdc8d8SChris Lattner )
42*30fdc8d8SChris Lattner {
43*30fdc8d8SChris Lattner     if (f == NULL)
44*30fdc8d8SChris Lattner         return 0;
45*30fdc8d8SChris Lattner 
46*30fdc8d8SChris Lattner     if (file.IsValid())
47*30fdc8d8SChris Lattner     {
48*30fdc8d8SChris Lattner         StreamFile str (f);
49*30fdc8d8SChris Lattner 
50*30fdc8d8SChris Lattner 
51*30fdc8d8SChris Lattner         return m_source_manager.DisplaySourceLinesWithLineNumbers (*file,
52*30fdc8d8SChris Lattner                                                                    line,
53*30fdc8d8SChris Lattner                                                                    context_before,
54*30fdc8d8SChris Lattner                                                                    context_after,
55*30fdc8d8SChris Lattner                                                                    current_line_cstr,
56*30fdc8d8SChris Lattner                                                                    &str);
57*30fdc8d8SChris Lattner     }
58*30fdc8d8SChris Lattner     return 0;
59*30fdc8d8SChris Lattner }
60*30fdc8d8SChris Lattner 
61*30fdc8d8SChris Lattner SourceManager &
62*30fdc8d8SChris Lattner SBSourceManager::GetLLDBManager ()
63*30fdc8d8SChris Lattner {
64*30fdc8d8SChris Lattner     return m_source_manager;
65*30fdc8d8SChris Lattner }
66