1 //===-- DWARFASTParserOCaml.h -----------------------------------*- C++ -*-===//
3 #ifndef SymbolFileDWARF_DWARFASTParserOCaml_h_
4 #define SymbolFileDWARF_DWARFASTParserOCaml_h_
6 #include "DWARFASTParser.h"
7 #include "DWARFCompileUnit.h"
9 #include "DWARFDebugInfo.h"
10 #include "DWARFDefines.h"
11 #include "SymbolFileDWARF.h"
13 #include "lldb/Symbol/OCamlASTContext.h"
15 class DWARFDebugInfoEntry;
16 class DWARFDIECollection;
18 class DWARFASTParserOCaml : public DWARFASTParser {
20 DWARFASTParserOCaml(lldb_private::OCamlASTContext &ast);
22 virtual ~DWARFASTParserOCaml();
24 lldb::TypeSP ParseBaseTypeFromDIE(const DWARFDIE &die);
26 lldb::TypeSP ParseTypeFromDWARF(const lldb_private::SymbolContext &sc,
27 const DWARFDIE &die, lldb_private::Log *log,
28 bool *type_is_new_ptr) override;
30 lldb_private::Function *
31 ParseFunctionFromDWARF(const lldb_private::SymbolContext &sc,
32 const DWARFDIE &die) override;
35 CompleteTypeFromDWARF(const DWARFDIE &die, lldb_private::Type *type,
36 lldb_private::CompilerType &compiler_type) override {
40 lldb_private::CompilerDecl
41 GetDeclForUIDFromDWARF(const DWARFDIE &die) override {
42 return lldb_private::CompilerDecl();
45 lldb_private::CompilerDeclContext
46 GetDeclContextForUIDFromDWARF(const DWARFDIE &die) override;
48 lldb_private::CompilerDeclContext
49 GetDeclContextContainingUIDFromDWARF(const DWARFDIE &die) override;
51 std::vector<DWARFDIE> GetDIEForDeclContext(
52 lldb_private::CompilerDeclContext decl_context) override {
57 lldb_private::OCamlASTContext &m_ast;
60 #endif // SymbolFileDWARF_DWARFASTParserOCaml_h_