13 #ifndef LLVM_CLANG_SEMA_EXTERNALSEMASOURCE_H 14 #define LLVM_CLANG_SEMA_EXTERNALSEMASOURCE_H 20 #include "llvm/ADT/MapVector.h" 29 class CXXConstructorDecl;
34 struct ObjCMethodList;
37 class TypedefNameDecl;
40 struct LateParsedTemplate;
56 ExternalASTSource::SemaSource =
true;
71 virtual void ReadMethodPool(
Selector Sel);
75 virtual void updateOutOfDateSelector(
Selector Sel);
79 virtual void ReadKnownNamespaces(
85 ReadUndefinedButUsed(llvm::MapVector<NamedDecl *, SourceLocation> &Undefined);
87 virtual void ReadMismatchingDeleteExpressions(llvm::MapVector<
193 llvm::MapVector<
const FunctionDecl *, std::unique_ptr<LateParsedTemplate>>
207 bool EnteringContext,
228 return Source->SemaSource;
An instance of this class is created to represent a function declaration or definition.
Smart pointer class that efficiently represents Objective-C method names.
A (possibly-)qualified type.
Simple class containing the result of Sema::CorrectTypo.
A simple structure that captures a vtable use for the purposes of the ExternalSemaSource.
DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterat...
virtual bool LookupUnqualified(LookupResult &R, Scope *S)
Do last resort, unqualified lookup on a LookupResult that Sema cannot find.
C Language Family Type Representation.
virtual void ForgetSema()
Inform the semantic consumer that Sema is no longer available.
virtual void ReadLateParsedTemplates(llvm::MapVector< const FunctionDecl *, std::unique_ptr< LateParsedTemplate >> &LPTMap)
Read the set of late parsed template functions for this source.
virtual void ReadExtVectorDecls(SmallVectorImpl< TypedefNameDecl *> &Decls)
Read the set of ext_vector type declarations known to the external Sema source.
virtual void ReadWeakUndeclaredIdentifiers(SmallVectorImpl< std::pair< IdentifierInfo *, WeakInfo > > &WI)
Read the set of weak, undeclared identifiers known to the external Sema source.
virtual TypoCorrection CorrectTypo(const DeclarationNameInfo &Typo, int LookupKind, Scope *S, CXXScopeSpec *SS, CorrectionCandidateCallback &CCC, DeclContext *MemberContext, bool EnteringContext, const ObjCObjectPointerType *OPT)
Try to "correct" a typo in the source code by finding visible declarations whose names are similar to...
virtual void ReadUnusedLocalTypedefNameCandidates(llvm::SmallSetVector< const TypedefNameDecl *, 4 > &Decls)
Read the set of potentially unused typedefs known to the source.
Base class for callback objects used by Sema::CorrectTypo to check the validity of a potential typo c...
FieldDecl - An instance of this class is created by Sema::ActOnField to represent a member of a struc...
virtual bool MaybeDiagnoseMissingCompleteType(SourceLocation Loc, QualType T)
Produces a diagnostic note if the external source contains a complete definition for T...
Represents the results of name lookup.
virtual void InitializeSema(Sema &S)
Initialize the semantic source with the Sema instance being used to perform semantic analysis on the ...
Scope - A scope is a transient data structure that is used while parsing the program.
Represents a C++ nested-name-specifier or a global scope specifier.
virtual void ReadReferencedSelectors(SmallVectorImpl< std::pair< Selector, SourceLocation > > &Sels)
Read the set of referenced selectors known to the external Sema source.
Sema - This implements semantic analysis and AST building for C.
ValueDecl - Represent the declaration of a variable (in which case it is an lvalue) a function (in wh...
const FunctionProtoType * T
An abstract interface that should be implemented by external AST sources that also provide informatio...
Abstract interface for external sources of AST nodes.
Encodes a location in the source.
static bool classof(const ExternalASTSource *Source)
virtual void ReadTentativeDefinitions(SmallVectorImpl< VarDecl *> &TentativeDefs)
Read the set of tentative definitions known to the external Sema source.
Dataflow Directional Tag Classes.
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
virtual void ReadDelegatingConstructors(SmallVectorImpl< CXXConstructorDecl *> &Decls)
Read the set of delegating constructors known to the external Sema source.
DeclarationNameInfo - A collector data type for bundling together a DeclarationName and the correspnd...
Represents a pointer to an Objective C object.
Represents a C++ struct/union/class.
virtual void ReadUnusedFileScopedDecls(SmallVectorImpl< const DeclaratorDecl *> &Decls)
Read the set of unused file-scope declarations known to the external Sema source. ...
virtual void ReadPendingInstantiations(SmallVectorImpl< std::pair< ValueDecl *, SourceLocation > > &Pending)
Read the set of pending instantiations known to the external Sema source.
virtual void ReadUsedVTables(SmallVectorImpl< ExternalVTableUse > &VTables)
Read the set of used vtables known to the external Sema source.