| //===-- PDBASTParser.h ------------------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLDB_PLUGINS_SYMBOLFILE_PDB_PDBASTPARSER_H |
| #define LLDB_PLUGINS_SYMBOLFILE_PDB_PDBASTPARSER_H |
| |
| #include "lldb/lldb-forward.h" |
| |
| #include "lldb/Symbol/ClangASTImporter.h" |
| |
| namespace clang |
| { |
| class CharUnits; |
| class CXXRecordDecl; |
| class FieldDecl; |
| class RecordDecl; |
| } |
| |
| namespace lldb_private |
| { |
| class ClangASTContext; |
| class CompilerType; |
| } |
| |
| namespace llvm |
| { |
| class PDBSymbol; |
| class PDBSymbolData; |
| class PDBSymbolTypeBuiltin; |
| } |
| |
| class PDBASTParser |
| { |
| public: |
| PDBASTParser(lldb_private::ClangASTContext &ast); |
| ~PDBASTParser(); |
| |
| lldb::TypeSP |
| CreateLLDBTypeFromPDBType(const llvm::PDBSymbol &type); |
| |
| private: |
| bool |
| AddEnumValue(lldb_private::CompilerType enum_type, const llvm::PDBSymbolData &data) const; |
| |
| lldb_private::ClangASTContext &m_ast; |
| lldb_private::ClangASTImporter m_ast_importer; |
| }; |
| |
| #endif // SymbolFileDWARF_DWARFASTParserClang_h_ |