clang API Documentation

Public Member Functions | Static Public Member Functions
clang::MultiplexExternalSemaSource Class Reference

An abstract interface that should be implemented by external AST sources that also provide information for semantic analysis. More...

#include <MultiplexExternalSemaSource.h>

Inheritance diagram for clang::MultiplexExternalSemaSource:
Inheritance graph
[legend]
Collaboration diagram for clang::MultiplexExternalSemaSource:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MultiplexExternalSemaSource (ExternalSemaSource &s1, ExternalSemaSource &s2)
 Constructs a new multiplexing external sema source and appends the given element to it.
 ~MultiplexExternalSemaSource ()
void addSource (ExternalSemaSource &source)
 Appends new source to the source list.
DeclGetExternalDecl (uint32_t ID) override
 Resolve a declaration ID into a declaration, potentially building a new declaration.
void CompleteRedeclChain (const Decl *D) override
 Complete the redeclaration chain if it's been extended since the previous generation of the AST source.
Selector GetExternalSelector (uint32_t ID) override
 Resolve a selector ID into a selector.
uint32_t GetNumExternalSelectors () override
 Returns the number of selectors known to the external AST source.
StmtGetExternalDeclStmt (uint64_t Offset) override
 Resolve the offset of a statement in the decl stream into a statement.
CXXBaseSpecifierGetExternalCXXBaseSpecifiers (uint64_t Offset) override
 Resolve the offset of a set of C++ base specifiers in the decl stream into an array of specifiers.
bool FindExternalVisibleDeclsByName (const DeclContext *DC, DeclarationName Name) override
 Find all declarations with the given name in the given context.
void completeVisibleDeclsMap (const DeclContext *DC) override
 Ensures that the table of all visible declarations inside this context is up to date.
ExternalLoadResult FindExternalLexicalDecls (const DeclContext *DC, bool(*isKindWeWant)(Decl::Kind), SmallVectorImpl< Decl * > &Result) override
 Finds all declarations lexically contained within the given DeclContext, after applying an optional filter predicate.
ExternalLoadResult FindExternalLexicalDecls (const DeclContext *DC, SmallVectorImpl< Decl * > &Result)
 Finds all declarations lexically contained within the given DeclContext.
template<typename DeclTy >
ExternalLoadResult FindExternalLexicalDeclsBy (const DeclContext *DC, SmallVectorImpl< Decl * > &Result)
void FindFileRegionDecls (FileID File, unsigned Offset, unsigned Length, SmallVectorImpl< Decl * > &Decls) override
 Get the decls that are contained in a file in the Offset/Length range. Length can be 0 to indicate a point at Offset instead of a range.
void CompleteType (TagDecl *Tag) override
 Gives the external AST source an opportunity to complete an incomplete type.
void CompleteType (ObjCInterfaceDecl *Class) override
 Gives the external AST source an opportunity to complete an incomplete Objective-C class.
void ReadComments () override
 Loads comment ranges.
void StartedDeserializing () override
 Notify ExternalASTSource that we started deserialization of a decl or type so until FinishedDeserializing is called there may be decls that are initializing. Must be paired with FinishedDeserializing.
void FinishedDeserializing () override
 Notify ExternalASTSource that we finished the deserialization of a decl or type. Must be paired with StartedDeserializing.
void StartTranslationUnit (ASTConsumer *Consumer) override
 Function that will be invoked when we begin parsing a new translation unit involving this external AST source.
void PrintStats () override
 Print any statistics that have been gathered regarding the external AST source.
bool layoutRecordType (const RecordDecl *Record, uint64_t &Size, uint64_t &Alignment, llvm::DenseMap< const FieldDecl *, uint64_t > &FieldOffsets, llvm::DenseMap< const CXXRecordDecl *, CharUnits > &BaseOffsets, llvm::DenseMap< const CXXRecordDecl *, CharUnits > &VirtualBaseOffsets) override
 Perform layout on the given record.
void getMemoryBufferSizes (MemoryBufferSizes &sizes) const override
void InitializeSema (Sema &S) override
 Initialize the semantic source with the Sema instance being used to perform semantic analysis on the abstract syntax tree.
void ForgetSema () override
 Inform the semantic consumer that Sema is no longer available.
void ReadMethodPool (Selector Sel) override
 Load the contents of the global method pool for a given selector.
void ReadKnownNamespaces (SmallVectorImpl< NamespaceDecl * > &Namespaces) override
 Load the set of namespaces that are known to the external source, which will be used during typo correction.
void ReadUndefinedButUsed (llvm::DenseMap< NamedDecl *, SourceLocation > &Undefined) override
 Load the set of used but not defined functions or variables with internal linkage, or used but not defined inline functions.
bool LookupUnqualified (LookupResult &R, Scope *S) override
 Do last resort, unqualified lookup on a LookupResult that Sema cannot find.
void ReadTentativeDefinitions (SmallVectorImpl< VarDecl * > &Defs) override
 Read the set of tentative definitions known to the external Sema source.
void ReadUnusedFileScopedDecls (SmallVectorImpl< const DeclaratorDecl * > &Decls) override
 Read the set of unused file-scope declarations known to the external Sema source.
void ReadDelegatingConstructors (SmallVectorImpl< CXXConstructorDecl * > &Decls) override
 Read the set of delegating constructors known to the external Sema source.
void ReadExtVectorDecls (SmallVectorImpl< TypedefNameDecl * > &Decls) override
 Read the set of ext_vector type declarations known to the external Sema source.
void ReadDynamicClasses (SmallVectorImpl< CXXRecordDecl * > &Decls) override
 Read the set of dynamic classes known to the external Sema source.
void ReadUnusedLocalTypedefNameCandidates (llvm::SmallSetVector< const TypedefNameDecl *, 4 > &Decls) override
 Read the set of potentially unused typedefs known to the source.
void ReadLocallyScopedExternCDecls (SmallVectorImpl< NamedDecl * > &Decls) override
 Read the set of locally-scoped extern "C" declarations known to the external Sema source.
void ReadReferencedSelectors (SmallVectorImpl< std::pair< Selector, SourceLocation > > &Sels) override
 Read the set of referenced selectors known to the external Sema source.
void ReadWeakUndeclaredIdentifiers (SmallVectorImpl< std::pair< IdentifierInfo *, WeakInfo > > &WI) override
 Read the set of weak, undeclared identifiers known to the external Sema source.
void ReadUsedVTables (SmallVectorImpl< ExternalVTableUse > &VTables) override
 Read the set of used vtables known to the external Sema source.
void ReadPendingInstantiations (SmallVectorImpl< std::pair< ValueDecl *, SourceLocation > > &Pending) override
 Read the set of pending instantiations known to the external Sema source.
void ReadLateParsedTemplates (llvm::DenseMap< const FunctionDecl *, LateParsedTemplate * > &LPTMap) override
 Read the set of late parsed template functions for this source.
TypoCorrection CorrectTypo (const DeclarationNameInfo &Typo, int LookupKind, Scope *S, CXXScopeSpec *SS, CorrectionCandidateCallback &CCC, DeclContext *MemberContext, bool EnteringContext, const ObjCObjectPointerType *OPT) override
bool MaybeDiagnoseMissingCompleteType (SourceLocation Loc, QualType T) override
 Produces a diagnostic note if one of the attached sources contains a complete definition for T. Queries the sources in list order until the first one claims that a diagnostic was produced.

Static Public Member Functions

static bool classof (const MultiplexExternalSemaSource *)

Detailed Description

An abstract interface that should be implemented by external AST sources that also provide information for semantic analysis.

Definition at line 39 of file MultiplexExternalSemaSource.h.


Constructor & Destructor Documentation

Constructs a new multiplexing external sema source and appends the given element to it.

Parameters:
[in]s1- A non-null (old) ExternalSemaSource.
[in]s2- A non-null (new) ExternalSemaSource.
[in]source- An ExternalSemaSource.

Definition at line 24 of file MultiplexExternalSemaSource.cpp.

Definition at line 31 of file MultiplexExternalSemaSource.cpp.


Member Function Documentation

Appends new source to the source list.

Parameters:
[in]source- An ExternalSemaSource.

Definition at line 37 of file MultiplexExternalSemaSource.cpp.

Definition at line 374 of file MultiplexExternalSemaSource.h.

void MultiplexExternalSemaSource::CompleteRedeclChain ( const Decl D) [override, virtual]

Complete the redeclaration chain if it's been extended since the previous generation of the AST source.

Reimplemented from clang::ExternalASTSource.

Definition at line 52 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::CompleteType ( TagDecl Tag) [override, virtual]

Gives the external AST source an opportunity to complete an incomplete type.

Reimplemented from clang::ExternalASTSource.

Definition at line 121 of file MultiplexExternalSemaSource.cpp.

Referenced by CompleteType().

void MultiplexExternalSemaSource::CompleteType ( ObjCInterfaceDecl Class) [override, virtual]

Gives the external AST source an opportunity to complete an incomplete Objective-C class.

This routine will only be invoked if the "externally completed" bit is set on the ObjCInterfaceDecl via the function ObjCInterfaceDecl::setExternallyCompleted().

Reimplemented from clang::ExternalASTSource.

Definition at line 126 of file MultiplexExternalSemaSource.cpp.

References CompleteType().

void MultiplexExternalSemaSource::completeVisibleDeclsMap ( const DeclContext DC) [override, virtual]

Ensures that the table of all visible declarations inside this context is up to date.

Reimplemented from clang::ExternalASTSource.

Definition at line 97 of file MultiplexExternalSemaSource.cpp.

TypoCorrection MultiplexExternalSemaSource::CorrectTypo ( const DeclarationNameInfo Typo,
int  LookupKind,
Scope S,
CXXScopeSpec SS,
CorrectionCandidateCallback CCC,
DeclContext MemberContext,
bool  EnteringContext,
const ObjCObjectPointerType OPT 
) [override, virtual]

Try to "correct" a typo in the source code by finding visible declarations whose names are similar to the name that was present in the source code.

Parameters:
TypoNamethe DeclarationNameInfo structure that contains the name that was present in the source code along with its location.
LookupKindthe name-lookup criteria used to search for the name.
Sthe scope in which name lookup occurs.
SSthe nested-name-specifier that precedes the name we're looking for, if present.
CCCA CorrectionCandidateCallback object that provides further validation of typo correction candidates. It also provides flags for determining the set of keywords permitted.
MemberContextif non-NULL, the context in which to look for a member access expression.
EnteringContextwhether we're entering the context described by the nested-name-specifier SS.
OPTwhen non-NULL, the search for visible declarations will also walk the protocols in the qualified interfaces of OPT.
Returns:
a TypoCorrection containing the corrected name if the typo along with information such as the NamedDecl where the corrected name was declared, and any additional NestedNameSpecifier needed to access it (C++ only). The TypoCorrection is empty if there is no correction.
Note:
LookupKind must correspond to a valid Sema::LookupNameKind

ExternalSemaSource::CorrectTypo is always given the first chance to correct a typo (really, to offer suggestions to repair a failed lookup). It will even be called when SpellChecking is turned off or after a fatal error has already been detected.

Note:
Returns the first nonempty correction.

Reimplemented from clang::ExternalSemaSource.

Definition at line 288 of file MultiplexExternalSemaSource.cpp.

References AttributeLangSupport::C.

ExternalLoadResult MultiplexExternalSemaSource::FindExternalLexicalDecls ( const DeclContext DC,
bool(*)(Decl::Kind isKindWeWant,
SmallVectorImpl< Decl * > &  Result 
) [override, virtual]

Finds all declarations lexically contained within the given DeclContext, after applying an optional filter predicate.

Parameters:
isKindWeWanta predicate function that returns true if the passed declaration kind is one we are looking for. If NULL, all declarations are returned.
Returns:
an indication of whether the load succeeded or failed.

Reimplemented from clang::ExternalASTSource.

Definition at line 103 of file MultiplexExternalSemaSource.cpp.

References clang::ELR_Success, and FindExternalLexicalDecls().

Referenced by FindExternalLexicalDecls(), and FindExternalLexicalDeclsBy().

ExternalLoadResult clang::MultiplexExternalSemaSource::FindExternalLexicalDecls ( const DeclContext DC,
SmallVectorImpl< Decl * > &  Result 
) [inline]

Finds all declarations lexically contained within the given DeclContext.

Returns:
true if an error occurred

Reimplemented from clang::ExternalASTSource.

Definition at line 114 of file MultiplexExternalSemaSource.h.

References FindExternalLexicalDecls().

template<typename DeclTy >
ExternalLoadResult clang::MultiplexExternalSemaSource::FindExternalLexicalDeclsBy ( const DeclContext DC,
SmallVectorImpl< Decl * > &  Result 
) [inline]

Reimplemented from clang::ExternalASTSource.

Definition at line 120 of file MultiplexExternalSemaSource.h.

References FindExternalLexicalDecls().

Find all declarations with the given name in the given context.

Reimplemented from clang::ExternalASTSource.

Definition at line 90 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::FindFileRegionDecls ( FileID  File,
unsigned  Offset,
unsigned  Length,
SmallVectorImpl< Decl * > &  Decls 
) [override, virtual]

Get the decls that are contained in a file in the Offset/Length range. Length can be 0 to indicate a point at Offset instead of a range.

Reimplemented from clang::ExternalASTSource.

Definition at line 113 of file MultiplexExternalSemaSource.cpp.

Notify ExternalASTSource that we finished the deserialization of a decl or type. Must be paired with StartedDeserializing.

Reimplemented from clang::ExternalASTSource.

Definition at line 141 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ForgetSema ( ) [override, virtual]

Inform the semantic consumer that Sema is no longer available.

Reimplemented from clang::ExternalSemaSource.

Definition at line 186 of file MultiplexExternalSemaSource.cpp.

Resolve the offset of a set of C++ base specifiers in the decl stream into an array of specifiers.

Reimplemented from clang::ExternalASTSource.

Definition at line 81 of file MultiplexExternalSemaSource.cpp.

Decl * MultiplexExternalSemaSource::GetExternalDecl ( uint32_t  ID) [override, virtual]

Resolve a declaration ID into a declaration, potentially building a new declaration.

Reimplemented from clang::ExternalASTSource.

Definition at line 45 of file MultiplexExternalSemaSource.cpp.

Stmt * MultiplexExternalSemaSource::GetExternalDeclStmt ( uint64_t  Offset) [override, virtual]

Resolve the offset of a statement in the decl stream into a statement.

Reimplemented from clang::ExternalASTSource.

Definition at line 74 of file MultiplexExternalSemaSource.cpp.

Selector MultiplexExternalSemaSource::GetExternalSelector ( uint32_t  ID) [override, virtual]

Resolve a selector ID into a selector.

Reimplemented from clang::ExternalASTSource.

Definition at line 57 of file MultiplexExternalSemaSource.cpp.

References clang::Selector::isNull().

void MultiplexExternalSemaSource::getMemoryBufferSizes ( MemoryBufferSizes sizes) const [override, virtual]

Return the amount of memory used by memory buffers, breaking down by heap-backed versus mmap'ed memory.

Reimplemented from clang::ExternalASTSource.

Definition at line 170 of file MultiplexExternalSemaSource.cpp.

References clang::ExternalASTSource::getMemoryBufferSizes().

uint32_t MultiplexExternalSemaSource::GetNumExternalSelectors ( ) [override, virtual]

Returns the number of selectors known to the external AST source.

Reimplemented from clang::ExternalASTSource.

Definition at line 67 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::InitializeSema ( Sema S) [override, virtual]

Initialize the semantic source with the Sema instance being used to perform semantic analysis on the abstract syntax tree.

Reimplemented from clang::ExternalSemaSource.

Definition at line 181 of file MultiplexExternalSemaSource.cpp.

bool MultiplexExternalSemaSource::layoutRecordType ( const RecordDecl Record,
uint64_t &  Size,
uint64_t &  Alignment,
llvm::DenseMap< const FieldDecl *, uint64_t > &  FieldOffsets,
llvm::DenseMap< const CXXRecordDecl *, CharUnits > &  BaseOffsets,
llvm::DenseMap< const CXXRecordDecl *, CharUnits > &  VirtualBaseOffsets 
) [override, virtual]

Perform layout on the given record.

This routine allows the external AST source to provide an specific layout for a record, overriding the layout that would normally be constructed. It is intended for clients who receive specific layout details rather than source code (such as LLDB). The client is expected to fill in the field offsets, base offsets, virtual base offsets, and complete object size.

Parameters:
RecordThe record whose layout is being requested.
SizeThe final size of the record, in bits.
AlignmentThe final alignment of the record, in bits.
FieldOffsetsThe offset of each of the fields within the record, expressed in bits. All of the fields must be provided with offsets.
BaseOffsetsThe offset of each of the direct, non-virtual base classes. If any bases are not given offsets, the bases will be laid out according to the ABI.
VirtualBaseOffsetsThe offset of each of the virtual base classes (either direct or not). If any bases are not given offsets, the bases will be laid out according to the ABI.
Returns:
true if the record layout was provided, false otherwise.

Reimplemented from clang::ExternalASTSource.

Definition at line 156 of file MultiplexExternalSemaSource.cpp.

Do last resort, unqualified lookup on a LookupResult that Sema cannot find.

Parameters:
Ra LookupResult that is being recovered.
Sthe Scope of the identifier occurrence.
Returns:
true to tell Sema to recover using the LookupResult.

Reimplemented from clang::ExternalSemaSource.

Definition at line 208 of file MultiplexExternalSemaSource.cpp.

References clang::LookupResult::empty().

Produces a diagnostic note if one of the attached sources contains a complete definition for T. Queries the sources in list order until the first one claims that a diagnostic was produced.

Parameters:
Locthe location at which a complete type was required but not provided
Tthe QualType that should have been complete at Loc
Returns:
true if a diagnostic was produced, false otherwise.

Reimplemented from clang::ExternalSemaSource.

Definition at line 304 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::PrintStats ( ) [override, virtual]

Print any statistics that have been gathered regarding the external AST source.

Reimplemented from clang::ExternalASTSource.

Definition at line 151 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadComments ( ) [override, virtual]

Loads comment ranges.

Reimplemented from clang::ExternalASTSource.

Definition at line 131 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadDelegatingConstructors ( SmallVectorImpl< CXXConstructorDecl * > &  Decls) [override, virtual]

Read the set of delegating constructors known to the external Sema source.

The external source should append its own delegating constructors to the given vector of declarations. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same declarations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 227 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadDynamicClasses ( SmallVectorImpl< CXXRecordDecl * > &  Decls) [override, virtual]

Read the set of dynamic classes known to the external Sema source.

The external source should append its own dynamic classes to the given vector of declarations. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same declarations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 239 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadExtVectorDecls ( SmallVectorImpl< TypedefNameDecl * > &  Decls) [override, virtual]

Read the set of ext_vector type declarations known to the external Sema source.

The external source should append its own ext_vector type declarations to the given vector of declarations. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same declarations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 233 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadKnownNamespaces ( SmallVectorImpl< NamespaceDecl * > &  Namespaces) [override, virtual]

Load the set of namespaces that are known to the external source, which will be used during typo correction.

Reimplemented from clang::ExternalSemaSource.

Definition at line 196 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadLateParsedTemplates ( llvm::DenseMap< const FunctionDecl *, LateParsedTemplate * > &  LPTMap) [override, virtual]

Read the set of late parsed template functions for this source.

The external source should insert its own late parsed template functions into the map. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same map entries repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 282 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadLocallyScopedExternCDecls ( SmallVectorImpl< NamedDecl * > &  Decls) [override, virtual]

Read the set of locally-scoped extern "C" declarations known to the external Sema source.

The external source should append its own locally-scoped external declarations to the given vector of declarations. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same declarations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 251 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadMethodPool ( Selector  Sel) [override, virtual]

Load the contents of the global method pool for a given selector.

Reimplemented from clang::ExternalSemaSource.

Definition at line 191 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadPendingInstantiations ( SmallVectorImpl< std::pair< ValueDecl *, SourceLocation > > &  Pending) [override, virtual]

Read the set of pending instantiations known to the external Sema source.

The external source should append its own pending instantiations to the given vector. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same instantiations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 275 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadReferencedSelectors ( SmallVectorImpl< std::pair< Selector, SourceLocation > > &  Sels) [override, virtual]

Read the set of referenced selectors known to the external Sema source.

The external source should append its own referenced selectors to the given vector of selectors. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same selectors repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 257 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadTentativeDefinitions ( SmallVectorImpl< VarDecl * > &  Defs) [override, virtual]

Read the set of tentative definitions known to the external Sema source.

The external source should append its own tentative definitions to the given vector of tentative definitions. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same declarations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 215 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadUndefinedButUsed ( llvm::DenseMap< NamedDecl *, SourceLocation > &  Undefined) [override, virtual]

Load the set of used but not defined functions or variables with internal linkage, or used but not defined inline functions.

Reimplemented from clang::ExternalSemaSource.

Definition at line 202 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadUnusedFileScopedDecls ( SmallVectorImpl< const DeclaratorDecl * > &  Decls) [override, virtual]

Read the set of unused file-scope declarations known to the external Sema source.

The external source should append its own unused, filed-scope to the given vector of declarations. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same declarations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 221 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadUnusedLocalTypedefNameCandidates ( llvm::SmallSetVector< const TypedefNameDecl *, 4 > &  Decls) [override, virtual]

Read the set of potentially unused typedefs known to the source.

The external source should append its own potentially unused local typedefs to the given vector of declarations. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same declarations repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 245 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadUsedVTables ( SmallVectorImpl< ExternalVTableUse > &  VTables) [override, virtual]

Read the set of used vtables known to the external Sema source.

The external source should append its own used vtables to the given vector. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same vtables repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 269 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::ReadWeakUndeclaredIdentifiers ( SmallVectorImpl< std::pair< IdentifierInfo *, WeakInfo > > &  WI) [override, virtual]

Read the set of weak, undeclared identifiers known to the external Sema source.

The external source should append its own weak, undeclared identifiers to the given vector. Note that this routine may be invoked multiple times; the external source should take care not to introduce the same identifiers repeatedly.

Reimplemented from clang::ExternalSemaSource.

Definition at line 263 of file MultiplexExternalSemaSource.cpp.

Notify ExternalASTSource that we started deserialization of a decl or type so until FinishedDeserializing is called there may be decls that are initializing. Must be paired with FinishedDeserializing.

Reimplemented from clang::ExternalASTSource.

Definition at line 136 of file MultiplexExternalSemaSource.cpp.

void MultiplexExternalSemaSource::StartTranslationUnit ( ASTConsumer Consumer) [override, virtual]

Function that will be invoked when we begin parsing a new translation unit involving this external AST source.

Reimplemented from clang::ExternalASTSource.

Definition at line 146 of file MultiplexExternalSemaSource.cpp.


The documentation for this class was generated from the following files: