PDBASTParser.h revision 309124
1//===-- PDBASTParser.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 LLDB_PLUGINS_SYMBOLFILE_PDB_PDBASTPARSER_H 11#define LLDB_PLUGINS_SYMBOLFILE_PDB_PDBASTPARSER_H 12 13#include "lldb/lldb-forward.h" 14 15#include "lldb/Symbol/ClangASTImporter.h" 16 17namespace clang 18{ 19class CharUnits; 20class CXXRecordDecl; 21class FieldDecl; 22class RecordDecl; 23} 24 25namespace lldb_private 26{ 27class ClangASTContext; 28class CompilerType; 29} 30 31namespace llvm 32{ 33namespace pdb 34{ 35class PDBSymbol; 36class PDBSymbolData; 37class PDBSymbolTypeBuiltin; 38} 39} 40 41class PDBASTParser 42{ 43public: 44 PDBASTParser(lldb_private::ClangASTContext &ast); 45 ~PDBASTParser(); 46 47 lldb::TypeSP 48 CreateLLDBTypeFromPDBType(const llvm::pdb::PDBSymbol &type); 49 50private: 51 bool 52 AddEnumValue(lldb_private::CompilerType enum_type, const llvm::pdb::PDBSymbolData &data) const; 53 54 lldb_private::ClangASTContext &m_ast; 55 lldb_private::ClangASTImporter m_ast_importer; 56}; 57 58#endif // SymbolFileDWARF_DWARFASTParserClang_h_ 59