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