130fdc8d8SChris Lattner //===-- SBSourceManager.cpp -------------------------------------*- C++ -*-===// 230fdc8d8SChris Lattner // 330fdc8d8SChris Lattner // The LLVM Compiler Infrastructure 430fdc8d8SChris Lattner // 530fdc8d8SChris Lattner // This file is distributed under the University of Illinois Open Source 630fdc8d8SChris Lattner // License. See LICENSE.TXT for details. 730fdc8d8SChris Lattner // 830fdc8d8SChris Lattner //===----------------------------------------------------------------------===// 930fdc8d8SChris Lattner 1030fdc8d8SChris Lattner 11*4c5de699SEli Friedman #include "lldb/API/SBSourceManager.h" 1230fdc8d8SChris Lattner 1330fdc8d8SChris Lattner #include "lldb/API/SBFileSpec.h" 1430fdc8d8SChris Lattner #include "lldb/Core/Stream.h" 1530fdc8d8SChris Lattner #include "lldb/Core/StreamFile.h" 1630fdc8d8SChris Lattner #include "lldb/Core/SourceManager.h" 1730fdc8d8SChris Lattner 1830fdc8d8SChris Lattner 1930fdc8d8SChris Lattner using namespace lldb; 2030fdc8d8SChris Lattner using namespace lldb_private; 2130fdc8d8SChris Lattner 2230fdc8d8SChris Lattner 2330fdc8d8SChris Lattner SBSourceManager::SBSourceManager (SourceManager& source_manager) : 2430fdc8d8SChris Lattner m_source_manager (source_manager) 2530fdc8d8SChris Lattner { 2630fdc8d8SChris Lattner } 2730fdc8d8SChris Lattner 2830fdc8d8SChris Lattner SBSourceManager::~SBSourceManager() 2930fdc8d8SChris Lattner { 3030fdc8d8SChris Lattner } 3130fdc8d8SChris Lattner 3230fdc8d8SChris Lattner size_t 3330fdc8d8SChris Lattner SBSourceManager::DisplaySourceLinesWithLineNumbers 3430fdc8d8SChris Lattner ( 3530fdc8d8SChris Lattner const SBFileSpec &file, 3630fdc8d8SChris Lattner uint32_t line, 3730fdc8d8SChris Lattner uint32_t context_before, 3830fdc8d8SChris Lattner uint32_t context_after, 3930fdc8d8SChris Lattner const char* current_line_cstr, 4030fdc8d8SChris Lattner FILE *f 4130fdc8d8SChris Lattner ) 4230fdc8d8SChris Lattner { 4330fdc8d8SChris Lattner if (f == NULL) 4430fdc8d8SChris Lattner return 0; 4530fdc8d8SChris Lattner 4630fdc8d8SChris Lattner if (file.IsValid()) 4730fdc8d8SChris Lattner { 4830fdc8d8SChris Lattner StreamFile str (f); 4930fdc8d8SChris Lattner 5030fdc8d8SChris Lattner 5130fdc8d8SChris Lattner return m_source_manager.DisplaySourceLinesWithLineNumbers (*file, 5230fdc8d8SChris Lattner line, 5330fdc8d8SChris Lattner context_before, 5430fdc8d8SChris Lattner context_after, 5530fdc8d8SChris Lattner current_line_cstr, 5630fdc8d8SChris Lattner &str); 5730fdc8d8SChris Lattner } 5830fdc8d8SChris Lattner return 0; 5930fdc8d8SChris Lattner } 6030fdc8d8SChris Lattner 6130fdc8d8SChris Lattner SourceManager & 6230fdc8d8SChris Lattner SBSourceManager::GetLLDBManager () 6330fdc8d8SChris Lattner { 6430fdc8d8SChris Lattner return m_source_manager; 6530fdc8d8SChris Lattner } 66