|
LLDB mainline
|
A ExternalSemaSource multiplexer that prioritizes its sources. More...
#include <ASTUtils.h>
Public Member Functions | |
| SemaSourceWithPriorities (llvm::IntrusiveRefCntPtr< clang::ExternalSemaSource > high_quality_source, llvm::IntrusiveRefCntPtr< clang::ExternalSemaSource > low_quality_source) | |
| Construct a SemaSourceWithPriorities with a 'high quality' source that has the higher priority and a 'low quality' source that will be used as a fallback. | |
| ~SemaSourceWithPriorities () override | |
| clang::Decl * | GetExternalDecl (clang::GlobalDeclID ID) override |
| bool | LoadExternalSpecializations (const clang::Decl *D, bool OnlyPartial) override |
| bool | LoadExternalSpecializations (const clang::Decl *D, llvm::ArrayRef< clang::TemplateArgument > TemplateArgs) override |
| void | CompleteRedeclChain (const clang::Decl *D) override |
| clang::Selector | GetExternalSelector (uint32_t ID) override |
| uint32_t | GetNumExternalSelectors () override |
| clang::Stmt * | GetExternalDeclStmt (uint64_t Offset) override |
| clang::CXXBaseSpecifier * | GetExternalCXXBaseSpecifiers (uint64_t Offset) override |
| clang::CXXCtorInitializer ** | GetExternalCXXCtorInitializers (uint64_t Offset) override |
| ExtKind | hasExternalDefinitions (const clang::Decl *D) override |
| bool | FindExternalVisibleDeclsByName (const clang::DeclContext *DC, clang::DeclarationName Name, const clang::DeclContext *OriginalDC) override |
| void | completeVisibleDeclsMap (const clang::DeclContext *DC) override |
| void | FindExternalLexicalDecls (const clang::DeclContext *DC, llvm::function_ref< bool(clang::Decl::Kind)> IsKindWeWant, llvm::SmallVectorImpl< clang::Decl * > &Result) override |
| void | FindFileRegionDecls (clang::FileID File, unsigned Offset, unsigned Length, llvm::SmallVectorImpl< clang::Decl * > &Decls) override |
| void | CompleteType (clang::TagDecl *Tag) override |
| void | CompleteType (clang::ObjCInterfaceDecl *Class) override |
| void | ReadComments () override |
| void | StartedDeserializing () override |
| void | FinishedDeserializing () override |
| void | StartTranslationUnit (clang::ASTConsumer *Consumer) override |
| void | PrintStats () override |
| clang::Module * | getModule (unsigned ID) override |
| bool | layoutRecordType (const clang::RecordDecl *Record, uint64_t &Size, uint64_t &Alignment, llvm::DenseMap< const clang::FieldDecl *, uint64_t > &FieldOffsets, llvm::DenseMap< const clang::CXXRecordDecl *, clang::CharUnits > &BaseOffsets, llvm::DenseMap< const clang::CXXRecordDecl *, clang::CharUnits > &VirtualBaseOffsets) override |
| void | getMemoryBufferSizes (MemoryBufferSizes &sizes) const override |
| void | InitializeSema (clang::Sema &S) override |
| void | ForgetSema () override |
| void | ReadMethodPool (clang::Selector Sel) override |
| void | updateOutOfDateSelector (clang::Selector Sel) override |
| void | ReadKnownNamespaces (llvm::SmallVectorImpl< clang::NamespaceDecl * > &Namespaces) override |
| void | ReadUndefinedButUsed (llvm::MapVector< clang::NamedDecl *, clang::SourceLocation > &Undefined) override |
| void | ReadMismatchingDeleteExpressions (llvm::MapVector< clang::FieldDecl *, llvm::SmallVector< std::pair< clang::SourceLocation, bool >, 4 > > &Exprs) override |
| bool | LookupUnqualified (clang::LookupResult &R, clang::Scope *S) override |
| void | ReadTentativeDefinitions (llvm::SmallVectorImpl< clang::VarDecl * > &Defs) override |
| void | ReadUnusedFileScopedDecls (llvm::SmallVectorImpl< const clang::DeclaratorDecl * > &Decls) override |
| void | ReadDelegatingConstructors (llvm::SmallVectorImpl< clang::CXXConstructorDecl * > &Decls) override |
| void | ReadExtVectorDecls (llvm::SmallVectorImpl< clang::TypedefNameDecl * > &Decls) override |
| void | ReadUnusedLocalTypedefNameCandidates (llvm::SmallPtrSetImpl< const clang::TypedefNameDecl * > &Decls) override |
| void | ReadReferencedSelectors (llvm::SmallVectorImpl< std::pair< clang::Selector, clang::SourceLocation > > &Sels) override |
| void | ReadWeakUndeclaredIdentifiers (llvm::SmallVectorImpl< std::pair< clang::IdentifierInfo *, clang::WeakInfo > > &WI) override |
| void | ReadExtnameUndeclaredIdentifiers (llvm::SmallVectorImpl< std::pair< clang::IdentifierInfo *, clang::AsmLabelAttr * > > &EI) override |
| void | ReadUsedVTables (llvm::SmallVectorImpl< clang::ExternalVTableUse > &VTables) override |
| void | ReadPendingInstantiations (llvm::SmallVectorImpl< std::pair< clang::ValueDecl *, clang::SourceLocation > > &Pending) override |
| void | ReadLateParsedTemplates (llvm::MapVector< const clang::FunctionDecl *, std::unique_ptr< clang::LateParsedTemplate > > &LPTMap) override |
| clang::TypoCorrection | CorrectTypo (const clang::DeclarationNameInfo &Typo, int LookupKind, clang::Scope *S, clang::CXXScopeSpec *SS, clang::CorrectionCandidateCallback &CCC, clang::DeclContext *MemberContext, bool EnteringContext, const clang::ObjCObjectPointerType *OPT) override |
| bool | MaybeDiagnoseMissingCompleteType (clang::SourceLocation Loc, clang::QualType T) override |
| void | StartedQualifiedLookup (const clang::DeclContext *DC) override |
| void | FinishedQualifiedLookup (const clang::DeclContext *DC) override |
Private Attributes | |
| llvm::SmallVector< llvm::IntrusiveRefCntPtr< clang::ExternalSemaSource >, 2 > | Sources |
| The sources ordered in decreasing priority. | |
A ExternalSemaSource multiplexer that prioritizes its sources.
This ExternalSemaSource will forward all requests to its attached sources. However, unlike a normal multiplexer it will not forward a request to all sources, but instead give priority to certain sources. If a source with a higher priority can fulfill a request, all sources with a lower priority will not receive the request.
This class is mostly use to multiplex between sources of different 'quality', e.g. a C++ modules and debug information. The C++ module will provide more accurate replies to the requests, but might not be able to answer all requests. The debug information will be used as a fallback then to provide information that is not in the C++ module.
Definition at line 296 of file ASTUtils.h.
|
inline |
Construct a SemaSourceWithPriorities with a 'high quality' source that has the higher priority and a 'low quality' source that will be used as a fallback.
This class assumes shared ownership of the sources provided to it.
Definition at line 309 of file ASTUtils.h.
References Sources.
|
overridedefault |
|
inlineoverride |
Definition at line 349 of file ASTUtils.h.
References CompleteRedeclChain(), and Sources.
Referenced by CompleteRedeclChain().
|
inlineoverride |
Definition at line 445 of file ASTUtils.h.
References CompleteType(), and Sources.
|
inlineoverride |
|
inlineoverride |
Definition at line 412 of file ASTUtils.h.
References completeVisibleDeclsMap(), and Sources.
Referenced by completeVisibleDeclsMap().
|
inlineoverride |
Definition at line 627 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 418 of file ASTUtils.h.
References Sources.
|
inlineoverride |
Definition at line 403 of file ASTUtils.h.
References FindExternalVisibleDeclsByName(), and Sources.
Referenced by FindExternalVisibleDeclsByName().
|
inlineoverride |
Definition at line 430 of file ASTUtils.h.
References FindFileRegionDecls(), and Sources.
Referenced by FindFileRegionDecls().
|
inlineoverride |
Definition at line 460 of file ASTUtils.h.
References FinishedDeserializing(), and Sources.
Referenced by FinishedDeserializing().
|
inlineoverride |
Definition at line 655 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 507 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 379 of file ASTUtils.h.
References GetExternalCXXBaseSpecifiers(), and Sources.
Referenced by GetExternalCXXBaseSpecifiers().
|
inlineoverride |
Definition at line 388 of file ASTUtils.h.
References Sources.
|
inlineoverride |
Definition at line 325 of file ASTUtils.h.
References GetExternalDecl(), ID, and Sources.
Referenced by GetExternalDecl().
|
inlineoverride |
Definition at line 371 of file ASTUtils.h.
References GetExternalDeclStmt(), and Sources.
Referenced by GetExternalDeclStmt().
|
inlineoverride |
Definition at line 354 of file ASTUtils.h.
|
inlineoverride |
Definition at line 493 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 472 of file ASTUtils.h.
References getModule(), ID, and Sources.
Referenced by getModule().
|
inlineoverride |
Definition at line 364 of file ASTUtils.h.
References GetNumExternalSelectors(), and Sources.
Referenced by GetNumExternalSelectors().
|
inlineoverride |
Definition at line 395 of file ASTUtils.h.
References Sources.
|
inlineoverride |
Definition at line 502 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 479 of file ASTUtils.h.
References layoutRecordType(), and Sources.
Referenced by layoutRecordType().
|
inlineoverride |
Definition at line 332 of file ASTUtils.h.
References LoadExternalSpecializations(), and Sources.
Referenced by LoadExternalSpecializations(), and LoadExternalSpecializations().
|
inlineoverride |
Definition at line 340 of file ASTUtils.h.
References LoadExternalSpecializations(), and Sources.
|
inlineoverride |
Definition at line 543 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 641 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
override |
Definition at line 23 of file ASTUtils.cpp.
References PrintStats(), and Sources.
Referenced by PrintStats().
|
inlineoverride |
Definition at line 450 of file ASTUtils.h.
References ReadComments(), and Sources.
Referenced by ReadComments().
|
inlineoverride |
Definition at line 565 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 597 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 571 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 522 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 618 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 512 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 535 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 610 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 583 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 553 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 528 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 559 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 577 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 604 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 590 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 455 of file ASTUtils.h.
References Sources, and StartedDeserializing().
Referenced by StartedDeserializing().
|
inlineoverride |
Definition at line 650 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
inlineoverride |
Definition at line 465 of file ASTUtils.h.
References Sources, and StartTranslationUnit().
Referenced by StartTranslationUnit().
|
inlineoverride |
Definition at line 517 of file ASTUtils.h.
References lldb_private::Source, and Sources.
|
private |
The sources ordered in decreasing priority.
Definition at line 301 of file ASTUtils.h.
Referenced by CompleteRedeclChain(), CompleteType(), CompleteType(), completeVisibleDeclsMap(), CorrectTypo(), FindExternalLexicalDecls(), FindExternalVisibleDeclsByName(), FindFileRegionDecls(), FinishedDeserializing(), FinishedQualifiedLookup(), ForgetSema(), GetExternalCXXBaseSpecifiers(), GetExternalCXXCtorInitializers(), GetExternalDecl(), GetExternalDeclStmt(), GetExternalSelector(), getMemoryBufferSizes(), getModule(), GetNumExternalSelectors(), hasExternalDefinitions(), InitializeSema(), layoutRecordType(), LoadExternalSpecializations(), LoadExternalSpecializations(), LookupUnqualified(), MaybeDiagnoseMissingCompleteType(), PrintStats(), ReadComments(), ReadDelegatingConstructors(), ReadExtnameUndeclaredIdentifiers(), ReadExtVectorDecls(), ReadKnownNamespaces(), ReadLateParsedTemplates(), ReadMethodPool(), ReadMismatchingDeleteExpressions(), ReadPendingInstantiations(), ReadReferencedSelectors(), ReadTentativeDefinitions(), ReadUndefinedButUsed(), ReadUnusedFileScopedDecls(), ReadUnusedLocalTypedefNameCandidates(), ReadUsedVTables(), ReadWeakUndeclaredIdentifiers(), SemaSourceWithPriorities(), StartedDeserializing(), StartedQualifiedLookup(), StartTranslationUnit(), and updateOutOfDateSelector().