|
LLDB mainline
|
#include <PdbAstBuilderClang.h>
Public Member Functions | |
| PdbAstBuilderClang (TypeSystemClang &clang) | |
| CompilerDecl | GetOrCreateDeclForUid (PdbSymUid uid) override |
| CompilerDeclContext | GetOrCreateDeclContextForUid (PdbSymUid uid) override |
| CompilerDeclContext | GetParentDeclContext (PdbSymUid uid) override |
| void | EnsureFunction (PdbCompilandSymId func_id) override |
| void | EnsureInlinedFunction (PdbCompilandSymId inlinesite_id) override |
| void | EnsureBlock (PdbCompilandSymId block_id) override |
| void | EnsureVariable (PdbCompilandSymId scope_id, PdbCompilandSymId var_id) override |
| void | EnsureVariable (PdbGlobalSymId var_id) override |
| CompilerType | GetOrCreateType (PdbTypeSymId type) override |
| CompilerType | GetOrCreateTypedefType (PdbGlobalSymId id) override |
| bool | CompleteType (CompilerType ct) override |
| void | ParseDeclsForContext (CompilerDeclContext context) override |
| CompilerDeclContext | FindNamespaceDecl (CompilerDeclContext parent_ctx, llvm::StringRef name) override |
| std::string | GetQualifiedName (llvm::StringRef name) override |
| Convert a CodeView qualified name into the spelling used by the language of this AST (e.g. | |
| void | Dump (Stream &stream, llvm::StringRef filter, bool show_color) override |
| clang::QualType | GetBasicType (lldb::BasicType type) |
| clang::QualType | GetOrCreateClangType (PdbTypeSymId type) |
| clang::DeclContext * | GetOrCreateClangDeclContextForUid (PdbSymUid uid) |
| CompilerDecl | ToCompilerDecl (clang::Decl *decl) |
| CompilerType | ToCompilerType (clang::QualType qt) |
| CompilerDeclContext | ToCompilerDeclContext (clang::DeclContext *context) |
| clang::QualType | FromCompilerType (CompilerType ct) |
| clang::Decl * | FromCompilerDecl (CompilerDecl decl) |
| clang::DeclContext * | FromCompilerDeclContext (CompilerDeclContext context) |
| bool | CompleteTagDecl (clang::TagDecl &tag) |
| TypeSystemClang & | clang () |
| clang::CXXMethodDecl * | GetOrCreateMethodDecl (lldb::opaque_compiler_type_t parent_ty, llvm::StringRef name, llvm::StringRef asm_label, const CompilerType &method_ct, bool is_virtual, bool is_static, bool is_artificial) |
Returns the method named name with type method_ct in the record parent_ty, creating it if it doesn't exist yet. | |
| ClangASTImporter & | GetClangASTImporter () |
| Public Member Functions inherited from lldb_private::npdb::PdbAstBuilder | |
| virtual | ~PdbAstBuilder ()=default |
Private Types | |
| using | TypeIndex = llvm::codeview::TypeIndex |
| using | NamespaceSet = llvm::DenseSet<clang::NamespaceDecl *> |
Private Member Functions | |
| CompilerDeclContext | GetTranslationUnitDecl () |
| clang::DeclContext * | GetParentClangDeclContext (PdbSymUid uid) |
| clang::Decl * | TryGetDecl (PdbSymUid uid) const |
| clang::FunctionDecl * | GetOrCreateFunctionDecl (PdbCompilandSymId func_id) |
| clang::FunctionDecl * | GetOrCreateInlinedFunctionDecl (PdbCompilandSymId inlinesite_id) |
| clang::BlockDecl * | GetOrCreateBlockDecl (PdbCompilandSymId block_id) |
| clang::VarDecl * | GetOrCreateVariableDecl (PdbCompilandSymId scope_id, PdbCompilandSymId var_id) |
| clang::VarDecl * | GetOrCreateVariableDecl (PdbGlobalSymId var_id) |
| clang::QualType | CreatePointerType (const llvm::codeview::PointerRecord &pointer) |
| clang::QualType | CreateModifierType (const llvm::codeview::ModifierRecord &modifier) |
| clang::QualType | CreateArrayType (const llvm::codeview::ArrayRecord &array) |
| clang::QualType | CreateRecordType (PdbTypeSymId id, const CVTagRecord &record) |
| clang::QualType | CreateEnumType (PdbTypeSymId id, const llvm::codeview::EnumRecord &record) |
| clang::QualType | CreateFunctionType (TypeIndex args_type_idx, TypeIndex return_type_idx, llvm::codeview::CallingConvention calling_convention, unsigned int type_quals) |
| clang::QualType | CreateType (PdbTypeSymId type) |
| void | CreateFunctionParameters (PdbCompilandSymId func_id, clang::FunctionDecl &function_decl, uint32_t param_count) |
| clang::Decl * | GetOrCreateSymbolForId (PdbCompilandSymId id) |
| clang::VarDecl * | CreateVariableDecl (PdbSymUid uid, llvm::codeview::CVSymbol sym, clang::DeclContext &scope) |
| clang::NamespaceDecl * | GetOrCreateNamespaceDecl (const char *name, clang::DeclContext &context) |
| clang::FunctionDecl * | CreateFunctionDeclFromId (PdbTypeSymId func_tid, PdbCompilandSymId func_sid) |
| clang::FunctionDecl * | CreateFunctionDecl (PdbCompilandSymId func_id, llvm::StringRef func_name, TypeIndex func_ti, CompilerType func_ct, uint32_t param_count, clang::StorageClass func_storage, bool is_inline, clang::DeclContext *parent) |
| void | ParseNamespace (clang::DeclContext &parent) |
| void | ParseAllTypes () |
| void | ParseAllFunctionsAndNonLocalVars () |
| void | ParseDeclsForSimpleContext (clang::DeclContext &context) |
| void | ParseBlockChildren (PdbCompilandSymId block_id) |
| std::pair< clang::DeclContext *, std::string > | CreateDeclInfoForType (const llvm::codeview::TagRecord &record, TypeIndex ti) |
| std::pair< clang::DeclContext *, std::string > | CreateDeclInfoForUndecoratedName (llvm::StringRef uname) |
| clang::DeclContext * | GetOrCreateDeclContextForCompilandSymbol (PdbCompilandSymId uid) |
| clang::QualType | CreateSimpleType (TypeIndex ti) |
| bool | IsDynamicTagRecord (const CVTagRecord &tag) |
Private Attributes | |
| TypeSystemClang & | m_clang |
| ClangASTImporter | m_importer |
| llvm::once_flag | m_parse_functions_and_non_local_vars |
| llvm::once_flag | m_parse_all_types |
| llvm::DenseMap< clang::Decl *, DeclStatus > | m_decl_to_status |
| llvm::DenseMap< lldb::user_id_t, clang::Decl * > | m_uid_to_decl |
| llvm::DenseMap< lldb::user_id_t, clang::QualType > | m_uid_to_type |
| llvm::DenseMap< std::tuple< lldb::opaque_compiler_type_t, ConstString, lldb::opaque_compiler_type_t >, clang::CXXMethodDecl * > | m_cxx_method_decls |
| NamespaceSet | m_parsed_namespaces |
| NamespaceSet | m_known_namespaces |
| llvm::DenseMap< clang::DeclContext *, NamespaceSet > | m_parent_to_namespaces |
Definition at line 56 of file PdbAstBuilderClang.h.
|
private |
Definition at line 190 of file PdbAstBuilderClang.h.
|
private |
Definition at line 124 of file PdbAstBuilderClang.h.
| PdbAstBuilderClang::PdbAstBuilderClang | ( | TypeSystemClang & | clang | ) |
Definition at line 168 of file PdbAstBuilderClang.cpp.
References m_clang.
|
inline |
Definition at line 98 of file PdbAstBuilderClang.h.
References m_clang.
| bool PdbAstBuilderClang::CompleteTagDecl | ( | clang::TagDecl & | tag | ) |
Definition at line 527 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbSymUid::asTypeSym(), lldb_private::npdb::UdtRecordCompleter::complete(), error(), lldb_private::npdb::GetBestPossibleDecl(), lldb_private::npdb::GetFieldListIndex(), lldb_private::npdb::SymbolFileNativePDB::GetIndex(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::IsForwardRefUdt(), lldb_private::npdb::IsTagRecord(), lldb_private::npdb::LookThroughModifierRecord(), m_clang, m_decl_to_status, lldb_private::npdb::DeclStatus::resolved, lldb_private::TypeSystemClang::SetHasExternalStorage(), ToCompilerType(), lldb_private::npdb::PdbIndex::tpi(), and lldb_private::npdb::DeclStatus::uid.
Referenced by CompleteType(), and ParseDeclsForSimpleContext().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 509 of file PdbAstBuilderClang.cpp.
References CompleteTagDecl(), lldb_private::ClangASTImporter::CompleteType(), FromCompilerType(), and GetClangASTImporter().
|
private |
Definition at line 1443 of file PdbAstBuilderClang.cpp.
References lldb_private::CompilerType::GetOpaqueQualType(), GetOrCreateClangType(), lldb_private::npdb::GetSizeOfType(), m_clang, lldb_private::TypeSystemClang::RequireCompleteType(), ToCompilerType(), and lldb_private::npdb::PdbIndex::tpi().
Referenced by CreateType().
|
private |
Definition at line 176 of file PdbAstBuilderClang.cpp.
References AnyScopesHaveTemplateParams(), CreateDeclInfoForUndecoratedName(), GetOrCreateClangType(), GetOrCreateNamespaceDecl(), and m_clang.
Referenced by CreateEnumType(), CreateRecordType(), and ParseNamespace().
|
private |
Definition at line 333 of file PdbAstBuilderClang.cpp.
References FromCompilerDeclContext(), GetOrCreateClangType(), GetOrCreateNamespaceDecl(), MSVCUndecoratedNameParser::GetSpecifiers(), GetTranslationUnitDecl(), m_clang, and lldb_private::npdb::PdbIndex::tpi().
Referenced by CreateDeclInfoForType(), GetOrCreateDeclContextForCompilandSymbol(), and GetParentClangDeclContext().
|
private |
Definition at line 1420 of file PdbAstBuilderClang.cpp.
References CreateDeclInfoForType(), lldb_private::CompilerType::GetOpaqueQualType(), GetOrCreateClangType(), m_clang, lldb_private::TypeSystemClang::SetHasExternalStorage(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), and ToCompilerType().
Referenced by CreateType().
|
private |
Definition at line 1016 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::CVTagRecord::asTag(), lldb_private::npdb::CVTagRecord::create(), CreateFunctionParameters(), error(), lldb_private::GetLog(), lldb_private::CompilerType::GetOpaqueQualType(), GetOrCreateMethodDecl(), lldb_private::npdb::IsTagRecord(), LLDB_LOG_ERROR, m_clang, m_cxx_method_decls, lldb_private::Symbols, ToCompilerType(), and lldb_private::npdb::PdbIndex::tpi().
Referenced by CreateFunctionDeclFromId(), and GetOrCreateFunctionDecl().
|
private |
Definition at line 1144 of file PdbAstBuilderClang.cpp.
References CreateFunctionDecl(), FromCompilerDeclContext(), lldb_private::GetLog(), GetOrCreateClangDeclContextForUid(), GetOrCreateClangType(), GetOrCreateNamespaceDecl(), GetTranslationUnitDecl(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::PdbIndex::ipi(), lldb_private::npdb::PdbTypeSymId::is_ipi, LLDB_LOG, LLDB_LOG_ERROR, m_clang, lldb_private::Symbols, and ToCompilerType().
Referenced by GetOrCreateInlinedFunctionDecl().
|
private |
Definition at line 1312 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbIndex::compilands(), lldb_private::npdb::CompileUnitIndex::GetCompiland(), lldb_private::GetLog(), GetOrCreateClangType(), LLDB_LOG_ERROR, m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, m_uid_to_decl, lldb_private::npdb::PdbCompilandSymId::modi, lldb_private::npdb::PdbCompilandSymId::offset, lldb_private::Symbols, and lldb_private::npdb::toOpaqueUid().
Referenced by CreateFunctionDecl().
|
private |
Definition at line 1460 of file PdbAstBuilderClang.cpp.
References lldb_private::GetLog(), lldb_private::CompilerType::GetOpaqueQualType(), GetOrCreateClangType(), IsCVarArgsFunction(), LLDB_LOG_ERROR, m_clang, lldb_private::Symbols, ToCompilerType(), lldb_private::npdb::PdbIndex::tpi(), and TranslateCallingConvention().
Referenced by CreateType().
|
private |
Definition at line 687 of file PdbAstBuilderClang.cpp.
References GetOrCreateClangType().
Referenced by CreateType().
|
private |
Definition at line 614 of file PdbAstBuilderClang.cpp.
References GetOrCreateClangType(), and m_clang.
Referenced by CreateType().
|
private |
Definition at line 701 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::CVTagRecord::asTag(), CreateDeclInfoForType(), lldb::eLanguageTypeC_plus_plus, lldb_private::GetLog(), lldb_private::CompilerType::GetOpaqueQualType(), IsDynamicTagRecord(), lldb_private::CompilerType::IsValid(), LLDB_LOG, m_clang, lldb_private::TypeSystemClang::SetHasExternalStorage(), lldb_private::ClangASTMetadata::SetIsDynamicCXXType(), lldb_private::ClangASTMetadata::SetUserID(), lldb_private::TypeSystemClang::StartTagDeclarationDefinition(), lldb_private::Symbols, lldb_private::npdb::toOpaqueUid(), and TranslateUdtKind().
Referenced by CreateType().
|
private |
Definition at line 592 of file PdbAstBuilderClang.cpp.
References lldb::eBasicTypeInvalid, lldb::eBasicTypeNullPtr, GetBasicType(), lldb_private::npdb::GetCompilerTypeForSimpleKind(), GetOrCreateClangType(), and m_clang.
Referenced by CreateType().
|
private |
Definition at line 866 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::CVTagRecord::asEnum(), lldb_private::npdb::CVTagRecord::create(), CreateArrayType(), CreateEnumType(), CreateFunctionType(), CreateModifierType(), CreatePointerType(), CreateRecordType(), CreateSimpleType(), lldb_private::npdb::CVTagRecord::Enum, lldb_private::GetLog(), GetOrCreateClangType(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::IsTagRecord(), lldb_private::npdb::CVTagRecord::kind(), LLDB_LOG_ERROR, m_clang, lldb_private::Symbols, and lldb_private::npdb::PdbIndex::tpi().
Referenced by GetOrCreateClangType().
|
private |
Definition at line 773 of file PdbAstBuilderClang.cpp.
References GetOrCreateClangType(), lldb_private::npdb::GetVariableNameInfo(), m_clang, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::VariableInfo::name, lldb_private::npdb::DeclStatus::resolved, lldb_private::npdb::toOpaqueUid(), lldb_private::npdb::VariableInfo::type, and lldb_private::npdb::DeclStatus::uid.
Referenced by GetOrCreateVariableDecl(), and GetOrCreateVariableDecl().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1777 of file PdbAstBuilderClang.cpp.
References lldb_private::Stream::AsRawOstream(), and m_clang.
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1299 of file PdbAstBuilderClang.cpp.
References GetOrCreateBlockDecl().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1290 of file PdbAstBuilderClang.cpp.
References GetOrCreateFunctionDecl().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1294 of file PdbAstBuilderClang.cpp.
References GetOrCreateInlinedFunctionDecl().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1303 of file PdbAstBuilderClang.cpp.
References GetOrCreateVariableDecl().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1308 of file PdbAstBuilderClang.cpp.
References GetOrCreateVariableDecl().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1783 of file PdbAstBuilderClang.cpp.
References FindNamespaceDecl(), FromCompilerDeclContext(), m_known_namespaces, m_parent_to_namespaces, and ToCompilerDeclContext().
Referenced by FindNamespaceDecl().
| clang::Decl * PdbAstBuilderClang::FromCompilerDecl | ( | CompilerDecl | decl | ) |
Definition at line 1747 of file PdbAstBuilderClang.cpp.
References lldb_private::ClangUtil::GetDecl(), and lldb_private::CompilerDecl::GetTypeSystem().
Referenced by GetOrCreateClangDeclContextForUid().
| clang::DeclContext * PdbAstBuilderClang::FromCompilerDeclContext | ( | CompilerDeclContext | context | ) |
Definition at line 1754 of file PdbAstBuilderClang.cpp.
References lldb_private::CompilerDeclContext::GetOpaqueDeclContext().
Referenced by CreateDeclInfoForUndecoratedName(), CreateFunctionDeclFromId(), FindNamespaceDecl(), GetOrCreateClangDeclContextForUid(), GetOrCreateVariableDecl(), GetParentClangDeclContext(), and ParseDeclsForContext().
| clang::QualType PdbAstBuilderClang::FromCompilerType | ( | CompilerType | ct | ) |
Definition at line 1736 of file PdbAstBuilderClang.cpp.
References lldb_private::ClangUtil::GetQualType().
Referenced by CompleteType().
| clang::QualType PdbAstBuilderClang::GetBasicType | ( | lldb::BasicType | type | ) |
Definition at line 861 of file PdbAstBuilderClang.cpp.
References lldb_private::CompilerType::GetOpaqueQualType(), and m_clang.
Referenced by CreateSimpleType().
|
inline |
Definition at line 108 of file PdbAstBuilderClang.h.
References m_importer.
Referenced by CompleteType().
|
private |
Definition at line 754 of file PdbAstBuilderClang.cpp.
References GetParentClangDeclContext(), m_clang, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::DeclStatus::resolved, lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
Referenced by EnsureBlock(), and GetOrCreateSymbolForId().
| clang::DeclContext * PdbAstBuilderClang::GetOrCreateClangDeclContextForUid | ( | PdbSymUid | uid | ) |
Definition at line 315 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), lldb_private::npdb::CompilandSym, FromCompilerDecl(), FromCompilerDeclContext(), GetOrCreateDeclForUid(), GetTranslationUnitDecl(), lldb_private::npdb::PdbSymUid::kind(), and lldb_private::npdb::PdbCompilandSymId::offset.
Referenced by CreateFunctionDeclFromId(), GetOrCreateDeclContextForUid(), GetOrCreateVariableDecl(), and GetParentClangDeclContext().
| clang::QualType PdbAstBuilderClang::GetOrCreateClangType | ( | PdbTypeSymId | type | ) |
Definition at line 952 of file PdbAstBuilderClang.cpp.
References CreateType(), lldb_private::npdb::GetBestPossibleDecl(), GetOrCreateClangType(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::IsTagRecord(), m_clang, m_decl_to_status, m_uid_to_type, lldb_private::npdb::DeclStatus::resolved, lldb_private::npdb::toOpaqueUid(), lldb_private::npdb::PdbIndex::tpi(), and lldb_private::npdb::DeclStatus::uid.
Referenced by CreateArrayType(), CreateDeclInfoForType(), CreateDeclInfoForUndecoratedName(), CreateEnumType(), CreateFunctionDeclFromId(), CreateFunctionParameters(), CreateFunctionType(), CreateModifierType(), CreatePointerType(), CreateSimpleType(), CreateType(), CreateVariableDecl(), GetOrCreateClangType(), GetOrCreateDeclContextForCompilandSymbol(), GetOrCreateDeclForUid(), GetOrCreateFunctionDecl(), GetOrCreateType(), GetOrCreateTypedefType(), ParseAllTypes(), and ParseNamespace().
|
private |
Definition at line 370 of file PdbAstBuilderClang.cpp.
References CreateDeclInfoForUndecoratedName(), lldb_private::npdb::GetFunctionType(), GetOrCreateClangType(), lldb_private::npdb::PdbIndex::ipi(), m_clang, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), and lldb_private::npdb::PdbIndex::tpi().
Referenced by GetParentClangDeclContext().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 328 of file PdbAstBuilderClang.cpp.
References GetOrCreateClangDeclContextForUid(), and ToCompilerDeclContext().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 285 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), lldb_private::npdb::PdbSymUid::asTypeSym(), lldb_private::npdb::CompilandSym, GetOrCreateClangType(), GetOrCreateSymbolForId(), lldb_private::npdb::PdbSymUid::kind(), m_uid_to_decl, ToCompilerDecl(), lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::Type.
Referenced by GetOrCreateClangDeclContextForUid().
|
private |
Definition at line 1222 of file PdbAstBuilderClang.cpp.
References CreateFunctionDecl(), lldb_private::GetLog(), GetOrCreateClangType(), GetParentClangDeclContext(), MSVCUndecoratedNameParser::GetSpecifiers(), LLDB_LOG_ERROR, m_clang, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), lldb_private::npdb::DeclStatus::resolved, lldb_private::Symbols, ToCompilerType(), lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
Referenced by EnsureFunction(), GetOrCreateSymbolForId(), and ParseAllFunctionsAndNonLocalVars().
|
private |
Definition at line 1098 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbIndex::compilands(), CreateFunctionDeclFromId(), lldb_private::npdb::CompileUnitIndex::GetCompiland(), lldb_private::GetLog(), LLDB_LOG_ERROR, m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, m_decl_to_status, m_uid_to_decl, lldb_private::npdb::PdbCompilandSymId::modi, lldb_private::npdb::PdbCompilandSymId::offset, lldb_private::npdb::DeclStatus::resolved, lldb_private::Symbols, lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
Referenced by EnsureInlinedFunction(), and GetOrCreateSymbolForId().
| clang::CXXMethodDecl * PdbAstBuilderClang::GetOrCreateMethodDecl | ( | lldb::opaque_compiler_type_t | parent_ty, |
| llvm::StringRef | name, | ||
| llvm::StringRef | asm_label, | ||
| const CompilerType & | method_ct, | ||
| bool | is_virtual, | ||
| bool | is_static, | ||
| bool | is_artificial ) |
Returns the method named name with type method_ct in the record parent_ty, creating it if it doesn't exist yet.
Definition at line 1002 of file PdbAstBuilderClang.cpp.
References lldb_private::CompilerType::GetOpaqueQualType(), m_clang, and m_cxx_method_decls.
Referenced by CreateFunctionDecl().
|
private |
Definition at line 743 of file PdbAstBuilderClang.cpp.
References IsAnonymousNamespaceName(), m_clang, m_known_namespaces, and m_parent_to_namespaces.
Referenced by CreateDeclInfoForType(), CreateDeclInfoForUndecoratedName(), and CreateFunctionDeclFromId().
|
private |
Definition at line 250 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), GetOrCreateBlockDecl(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateVariableDecl(), GetParentClangDeclContext(), isLocalVariableType(), m_clang, m_decl_to_status, and lldb_private::npdb::PdbIndex::ReadSymbolRecord().
Referenced by GetOrCreateDeclForUid(), and ParseBlockChildren().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 995 of file PdbAstBuilderClang.cpp.
References GetOrCreateClangType(), and ToCompilerType().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 821 of file PdbAstBuilderClang.cpp.
References lldb_private::CompilerType::CreateTypedef(), lldb_private::npdb::DropNameScope(), lldb_private::GetLog(), GetOrCreateClangType(), GetParentClangDeclContext(), LLDB_LOG_ERROR, m_clang, m_decl_to_status, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), lldb_private::npdb::DeclStatus::resolved, lldb_private::Symbols, ToCompilerDeclContext(), ToCompilerType(), lldb_private::npdb::toOpaqueUid(), TryGetDecl(), and lldb_private::npdb::DeclStatus::uid.
|
private |
Definition at line 792 of file PdbAstBuilderClang.cpp.
References CreateVariableDecl(), GetOrCreateClangDeclContextForUid(), m_clang, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), and TryGetDecl().
Referenced by EnsureVariable(), EnsureVariable(), GetOrCreateSymbolForId(), and ParseAllFunctionsAndNonLocalVars().
|
private |
Definition at line 809 of file PdbAstBuilderClang.cpp.
References CreateVariableDecl(), FromCompilerDeclContext(), GetTranslationUnitDecl(), m_clang, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), and TryGetDecl().
|
private |
Definition at line 437 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), lldb_private::npdb::PdbSymUid::asGlobalSym(), lldb_private::npdb::PdbSymUid::asTypeSym(), lldb_private::npdb::CompilandSym, CreateDeclInfoForUndecoratedName(), lldb_private::npdb::FieldListMember, FromCompilerDeclContext(), lldb_private::GetLog(), GetOrCreateClangDeclContextForUid(), GetOrCreateDeclContextForCompilandSymbol(), GetParentClangDeclContext(), GetTranslationUnitDecl(), lldb_private::npdb::GlobalSym, lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::PdbSymUid::kind(), LLDB_LOG_ERROR, m_clang, lldb_private::npdb::PdbIndex::ReadSymbolRecord(), lldb_private::Symbols, and lldb_private::npdb::Type.
Referenced by GetOrCreateBlockDecl(), GetOrCreateFunctionDecl(), GetOrCreateSymbolForId(), GetOrCreateTypedefType(), GetParentClangDeclContext(), and GetParentDeclContext().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 505 of file PdbAstBuilderClang.cpp.
References GetParentClangDeclContext(), and ToCompilerDeclContext().
|
overridevirtual |
Convert a CodeView qualified name into the spelling used by the language of this AST (e.g.
anonymous namespaces).
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1758 of file PdbAstBuilderClang.cpp.
|
private |
Definition at line 171 of file PdbAstBuilderClang.cpp.
References m_clang, and ToCompilerDeclContext().
Referenced by CreateDeclInfoForUndecoratedName(), CreateFunctionDeclFromId(), GetOrCreateClangDeclContextForUid(), GetOrCreateVariableDecl(), and GetParentClangDeclContext().
|
private |
Definition at line 1811 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::CVTagRecord::asClass(), lldb_private::npdb::CVTagRecord::asTag(), lldb_private::ClassOrStruct, lldb_private::npdb::CVTagRecord::contextKind(), m_clang, and lldb_private::npdb::PdbIndex::tpi().
Referenced by CreateRecordType().
|
private |
Definition at line 1579 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbIndex::compilands(), lldb_private::npdb::PdbIndex::dbi(), lldb_private::npdb::CompileUnitIndex::GetOrCreateCompiland(), GetOrCreateFunctionDecl(), GetOrCreateVariableDecl(), m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, and m_parse_functions_and_non_local_vars.
Referenced by ParseDeclsForContext(), and ParseNamespace().
|
private |
Definition at line 1561 of file PdbAstBuilderClang.cpp.
References GetOrCreateClangType(), lldb_private::npdb::IsTagRecord(), m_clang, m_parse_all_types, and lldb_private::npdb::PdbIndex::tpi().
Referenced by ParseDeclsForContext().
|
private |
Definition at line 1640 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbIndex::compilands(), lldb_private::npdb::CompileUnitIndex::GetOrCreateCompiland(), GetOrCreateSymbolForId(), m_clang, lldb_private::npdb::CompilandIndexItem::m_debug_stream, m_uid_to_decl, lldb_private::npdb::PdbCompilandSymId::modi, lldb_private::npdb::PdbCompilandSymId::offset, ParseBlockChildren(), lldb_private::npdb::PdbIndex::ReadSymbolRecord(), skipFunctionParameters(), and lldb_private::npdb::toOpaqueUid().
Referenced by ParseBlockChildren(), and ParseDeclsForSimpleContext().
|
overridevirtual |
Implements lldb_private::npdb::PdbAstBuilder.
Definition at line 1700 of file PdbAstBuilderClang.cpp.
References FromCompilerDeclContext(), isBlockDecl(), isFunctionDecl(), isTagDecl(), ParseAllFunctionsAndNonLocalVars(), ParseAllTypes(), ParseDeclsForSimpleContext(), and ParseNamespace().
|
private |
Definition at line 1674 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::PdbSymUid::asCompilandSym(), CompleteTagDecl(), isBlockDecl(), isFunctionDecl(), m_decl_to_status, and ParseBlockChildren().
Referenced by ParseDeclsForContext().
|
private |
Definition at line 1522 of file PdbAstBuilderClang.cpp.
References lldb_private::npdb::CVTagRecord::asTag(), lldb_private::npdb::CVTagRecord::create(), CreateDeclInfoForType(), GetOrCreateClangType(), lldb_private::npdb::PdbTypeSymId::index, lldb_private::npdb::IsTagRecord(), m_clang, m_parsed_namespaces, ParseAllFunctionsAndNonLocalVars(), and lldb_private::npdb::PdbIndex::tpi().
Referenced by ParseDeclsForContext().
| CompilerDecl PdbAstBuilderClang::ToCompilerDecl | ( | clang::Decl * | decl | ) |
Definition at line 1728 of file PdbAstBuilderClang.cpp.
References m_clang.
Referenced by GetOrCreateDeclForUid().
| CompilerDeclContext PdbAstBuilderClang::ToCompilerDeclContext | ( | clang::DeclContext * | context | ) |
Definition at line 1741 of file PdbAstBuilderClang.cpp.
References m_clang.
Referenced by FindNamespaceDecl(), GetOrCreateDeclContextForUid(), GetOrCreateTypedefType(), GetParentDeclContext(), and GetTranslationUnitDecl().
| CompilerType PdbAstBuilderClang::ToCompilerType | ( | clang::QualType | qt | ) |
Definition at line 1732 of file PdbAstBuilderClang.cpp.
References m_clang.
Referenced by CompleteTagDecl(), CreateArrayType(), CreateEnumType(), CreateFunctionDecl(), CreateFunctionDeclFromId(), CreateFunctionType(), GetOrCreateFunctionDecl(), GetOrCreateType(), and GetOrCreateTypedefType().
|
private |
Definition at line 735 of file PdbAstBuilderClang.cpp.
References m_uid_to_decl, and lldb_private::npdb::toOpaqueUid().
Referenced by GetOrCreateBlockDecl(), GetOrCreateDeclForUid(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateTypedefType(), GetOrCreateVariableDecl(), and GetOrCreateVariableDecl().
|
private |
Definition at line 174 of file PdbAstBuilderClang.h.
Referenced by clang(), CompleteTagDecl(), CreateArrayType(), CreateDeclInfoForType(), CreateDeclInfoForUndecoratedName(), CreateEnumType(), CreateFunctionDecl(), CreateFunctionDeclFromId(), CreateFunctionParameters(), CreateFunctionType(), CreatePointerType(), CreateRecordType(), CreateSimpleType(), CreateType(), CreateVariableDecl(), Dump(), GetBasicType(), GetOrCreateBlockDecl(), GetOrCreateClangType(), GetOrCreateDeclContextForCompilandSymbol(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateMethodDecl(), GetOrCreateNamespaceDecl(), GetOrCreateSymbolForId(), GetOrCreateTypedefType(), GetOrCreateVariableDecl(), GetOrCreateVariableDecl(), GetParentClangDeclContext(), GetTranslationUnitDecl(), IsDynamicTagRecord(), ParseAllFunctionsAndNonLocalVars(), ParseAllTypes(), ParseBlockChildren(), ParseNamespace(), PdbAstBuilderClang(), ToCompilerDecl(), ToCompilerDeclContext(), and ToCompilerType().
|
private |
Definition at line 188 of file PdbAstBuilderClang.h.
Referenced by CreateFunctionDecl(), and GetOrCreateMethodDecl().
|
private |
Definition at line 179 of file PdbAstBuilderClang.h.
Referenced by CompleteTagDecl(), CreateVariableDecl(), GetOrCreateBlockDecl(), GetOrCreateClangType(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), GetOrCreateSymbolForId(), GetOrCreateTypedefType(), and ParseDeclsForSimpleContext().
|
private |
Definition at line 176 of file PdbAstBuilderClang.h.
Referenced by GetClangASTImporter().
|
private |
Definition at line 196 of file PdbAstBuilderClang.h.
Referenced by FindNamespaceDecl(), and GetOrCreateNamespaceDecl().
|
private |
Definition at line 197 of file PdbAstBuilderClang.h.
Referenced by FindNamespaceDecl(), and GetOrCreateNamespaceDecl().
|
private |
Definition at line 178 of file PdbAstBuilderClang.h.
Referenced by ParseAllTypes().
|
private |
Definition at line 177 of file PdbAstBuilderClang.h.
Referenced by ParseAllFunctionsAndNonLocalVars().
|
private |
Definition at line 193 of file PdbAstBuilderClang.h.
Referenced by ParseNamespace().
|
private |
Definition at line 180 of file PdbAstBuilderClang.h.
Referenced by CreateFunctionParameters(), CreateVariableDecl(), GetOrCreateBlockDecl(), GetOrCreateDeclForUid(), GetOrCreateFunctionDecl(), GetOrCreateInlinedFunctionDecl(), ParseBlockChildren(), and TryGetDecl().
|
private |
Definition at line 181 of file PdbAstBuilderClang.h.
Referenced by GetOrCreateClangType().