DWARFASTParser.h revision 314564
1292932Sdim//===-- DWARFASTParser.h ----------------------------------------*- C++ -*-===// 2292932Sdim// 3292932Sdim// The LLVM Compiler Infrastructure 4292932Sdim// 5292932Sdim// This file is distributed under the University of Illinois Open Source 6292932Sdim// License. See LICENSE.TXT for details. 7292932Sdim// 8292932Sdim//===----------------------------------------------------------------------===// 9292932Sdim 10292932Sdim#ifndef SymbolFileDWARF_DWARFASTParser_h_ 11292932Sdim#define SymbolFileDWARF_DWARFASTParser_h_ 12292932Sdim 13292932Sdim#include "DWARFDefines.h" 14292932Sdim#include "lldb/Core/PluginInterface.h" 15292932Sdim#include "lldb/Symbol/CompilerDecl.h" 16292932Sdim#include "lldb/Symbol/CompilerDeclContext.h" 17292932Sdim 18292932Sdimclass DWARFDIE; 19292932Sdim 20314564Sdimclass DWARFASTParser { 21292932Sdimpublic: 22314564Sdim virtual ~DWARFASTParser() {} 23292932Sdim 24314564Sdim virtual lldb::TypeSP ParseTypeFromDWARF(const lldb_private::SymbolContext &sc, 25314564Sdim const DWARFDIE &die, 26314564Sdim lldb_private::Log *log, 27314564Sdim bool *type_is_new_ptr) = 0; 28292932Sdim 29314564Sdim virtual lldb_private::Function * 30314564Sdim ParseFunctionFromDWARF(const lldb_private::SymbolContext &sc, 31314564Sdim const DWARFDIE &die) = 0; 32292932Sdim 33314564Sdim virtual bool 34314564Sdim CompleteTypeFromDWARF(const DWARFDIE &die, lldb_private::Type *type, 35314564Sdim lldb_private::CompilerType &compiler_type) = 0; 36292932Sdim 37314564Sdim virtual lldb_private::CompilerDecl 38314564Sdim GetDeclForUIDFromDWARF(const DWARFDIE &die) = 0; 39292932Sdim 40314564Sdim virtual lldb_private::CompilerDeclContext 41314564Sdim GetDeclContextForUIDFromDWARF(const DWARFDIE &die) = 0; 42292932Sdim 43314564Sdim virtual lldb_private::CompilerDeclContext 44314564Sdim GetDeclContextContainingUIDFromDWARF(const DWARFDIE &die) = 0; 45292932Sdim 46314564Sdim virtual std::vector<DWARFDIE> 47314564Sdim GetDIEForDeclContext(lldb_private::CompilerDeclContext decl_context) = 0; 48292932Sdim}; 49292932Sdim 50314564Sdim#endif // SymbolFileDWARF_DWARFASTParser_h_ 51