DWARFASTParser.h revision 314564
1//===-- DWARFASTParser.h ----------------------------------------*- 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#ifndef SymbolFileDWARF_DWARFASTParser_h_ 11#define SymbolFileDWARF_DWARFASTParser_h_ 12 13#include "DWARFDefines.h" 14#include "lldb/Core/PluginInterface.h" 15#include "lldb/Symbol/CompilerDecl.h" 16#include "lldb/Symbol/CompilerDeclContext.h" 17 18class DWARFDIE; 19 20class DWARFASTParser { 21public: 22 virtual ~DWARFASTParser() {} 23 24 virtual lldb::TypeSP ParseTypeFromDWARF(const lldb_private::SymbolContext &sc, 25 const DWARFDIE &die, 26 lldb_private::Log *log, 27 bool *type_is_new_ptr) = 0; 28 29 virtual lldb_private::Function * 30 ParseFunctionFromDWARF(const lldb_private::SymbolContext &sc, 31 const DWARFDIE &die) = 0; 32 33 virtual bool 34 CompleteTypeFromDWARF(const DWARFDIE &die, lldb_private::Type *type, 35 lldb_private::CompilerType &compiler_type) = 0; 36 37 virtual lldb_private::CompilerDecl 38 GetDeclForUIDFromDWARF(const DWARFDIE &die) = 0; 39 40 virtual lldb_private::CompilerDeclContext 41 GetDeclContextForUIDFromDWARF(const DWARFDIE &die) = 0; 42 43 virtual lldb_private::CompilerDeclContext 44 GetDeclContextContainingUIDFromDWARF(const DWARFDIE &die) = 0; 45 46 virtual std::vector<DWARFDIE> 47 GetDIEForDeclContext(lldb_private::CompilerDeclContext decl_context) = 0; 48}; 49 50#endif // SymbolFileDWARF_DWARFASTParser_h_ 51