clang  16.0.0git
Public Member Functions | List of all members
clang::HLSLExternalSemaSource Class Reference

#include "clang/Sema/HLSLExternalSemaSource.h"

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

Public Member Functions

 ~HLSLExternalSemaSource () 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. More...
 
void ForgetSema () override
 Inform the semantic consumer that Sema is no longer available. More...
 
void CompleteType (TagDecl *Tag) override
 Complete an incomplete HLSL builtin type. More...
 
virtual void CompleteType (TagDecl *Tag)
 Gives the external AST source an opportunity to complete an incomplete type. More...
 
virtual void CompleteType (ObjCInterfaceDecl *Class)
 Gives the external AST source an opportunity to complete an incomplete Objective-C class. More...
 
- Public Member Functions inherited from clang::ExternalSemaSource
 ExternalSemaSource ()=default
 
 ~ExternalSemaSource () override
 
virtual void ReadMethodPool (Selector Sel)
 Load the contents of the global method pool for a given selector. More...
 
virtual void updateOutOfDateSelector (Selector Sel)
 Load the contents of the global method pool for a given selector if necessary. More...
 
virtual void ReadKnownNamespaces (SmallVectorImpl< NamespaceDecl * > &Namespaces)
 Load the set of namespaces that are known to the external source, which will be used during typo correction. More...
 
virtual void ReadUndefinedButUsed (llvm::MapVector< NamedDecl *, SourceLocation > &Undefined)
 Load the set of used but not defined functions or variables with internal linkage, or used but not defined internal functions. More...
 
virtual void ReadMismatchingDeleteExpressions (llvm::MapVector< FieldDecl *, llvm::SmallVector< std::pair< SourceLocation, bool >, 4 >> &)
 
virtual bool LookupUnqualified (LookupResult &R, Scope *S)
 Do last resort, unqualified lookup on a LookupResult that Sema cannot find. More...
 
virtual void ReadTentativeDefinitions (SmallVectorImpl< VarDecl * > &TentativeDefs)
 Read the set of tentative definitions known to the external Sema source. More...
 
virtual void ReadUnusedFileScopedDecls (SmallVectorImpl< const DeclaratorDecl * > &Decls)
 Read the set of unused file-scope declarations known to the external Sema source. More...
 
virtual void ReadDelegatingConstructors (SmallVectorImpl< CXXConstructorDecl * > &Decls)
 Read the set of delegating constructors known to the external Sema source. More...
 
virtual void ReadExtVectorDecls (SmallVectorImpl< TypedefNameDecl * > &Decls)
 Read the set of ext_vector type declarations known to the external Sema source. More...
 
virtual void ReadUnusedLocalTypedefNameCandidates (llvm::SmallSetVector< const TypedefNameDecl *, 4 > &Decls)
 Read the set of potentially unused typedefs known to the source. More...
 
virtual void ReadReferencedSelectors (SmallVectorImpl< std::pair< Selector, SourceLocation > > &Sels)
 Read the set of referenced selectors known to the external Sema source. More...
 
virtual void ReadWeakUndeclaredIdentifiers (SmallVectorImpl< std::pair< IdentifierInfo *, WeakInfo > > &WI)
 Read the set of weak, undeclared identifiers known to the external Sema source. More...
 
virtual void ReadUsedVTables (SmallVectorImpl< ExternalVTableUse > &VTables)
 Read the set of used vtables known to the external Sema source. More...
 
virtual void ReadPendingInstantiations (SmallVectorImpl< std::pair< ValueDecl *, SourceLocation > > &Pending)
 Read the set of pending instantiations known to the external Sema source. More...
 
virtual void ReadLateParsedTemplates (llvm::MapVector< const FunctionDecl *, std::unique_ptr< LateParsedTemplate >> &LPTMap)
 Read the set of late parsed template functions for this source. More...
 
virtual void ReadDeclsToCheckForDeferredDiags (llvm::SmallSetVector< Decl *, 4 > &Decls)
 Read the set of decls to be checked for deferred diags. More...
 
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 the name that was present in the source code. More...
 
virtual bool MaybeDiagnoseMissingCompleteType (SourceLocation Loc, QualType T)
 Produces a diagnostic note if the external source contains a complete definition for T. More...
 
bool isA (const void *ClassID) const override
 LLVM-style RTTI. More...
 
- Public Member Functions inherited from clang::ExternalASTSource
 ExternalASTSource ()=default
 
virtual ~ExternalASTSource ()
 
uint32_t getGeneration () const
 Get the current generation of this AST source. More...
 
virtual DeclGetExternalDecl (uint32_t ID)
 Resolve a declaration ID into a declaration, potentially building a new declaration. More...
 
virtual Selector GetExternalSelector (uint32_t ID)
 Resolve a selector ID into a selector. More...
 
virtual uint32_t GetNumExternalSelectors ()
 Returns the number of selectors known to the external AST source. More...
 
virtual StmtGetExternalDeclStmt (uint64_t Offset)
 Resolve the offset of a statement in the decl stream into a statement. More...
 
virtual CXXCtorInitializer ** GetExternalCXXCtorInitializers (uint64_t Offset)
 Resolve the offset of a set of C++ constructor initializers in the decl stream into an array of initializers. More...
 
virtual CXXBaseSpecifierGetExternalCXXBaseSpecifiers (uint64_t Offset)
 Resolve the offset of a set of C++ base specifiers in the decl stream into an array of specifiers. More...
 
virtual void updateOutOfDateIdentifier (IdentifierInfo &II)
 Update an out-of-date identifier. More...
 
virtual bool FindExternalVisibleDeclsByName (const DeclContext *DC, DeclarationName Name)
 Find all declarations with the given name in the given context, and add them to the context by calling SetExternalVisibleDeclsForName or SetNoExternalVisibleDeclsForName. More...
 
virtual void completeVisibleDeclsMap (const DeclContext *DC)
 Ensures that the table of all visible declarations inside this context is up to date. More...
 
virtual ModulegetModule (unsigned ID)
 Retrieve the module that corresponds to the given module ID. More...
 
virtual llvm::Optional< ASTSourceDescriptorgetSourceDescriptor (unsigned ID)
 Return a descriptor for the corresponding module, if one exists. More...
 
virtual ExtKind hasExternalDefinitions (const Decl *D)
 
virtual void FindExternalLexicalDecls (const DeclContext *DC, llvm::function_ref< bool(Decl::Kind)> IsKindWeWant, SmallVectorImpl< Decl * > &Result)
 Finds all declarations lexically contained within the given DeclContext, after applying an optional filter predicate. More...
 
void FindExternalLexicalDecls (const DeclContext *DC, SmallVectorImpl< Decl * > &Result)
 Finds all declarations lexically contained within the given DeclContext. More...
 
virtual void FindFileRegionDecls (FileID File, unsigned Offset, unsigned Length, SmallVectorImpl< Decl * > &Decls)
 Get the decls that are contained in a file in the Offset/Length range. More...
 
virtual void CompleteRedeclChain (const Decl *D)
 Gives the external AST source an opportunity to complete the redeclaration chain for a declaration. More...
 
virtual void CompleteType (ObjCInterfaceDecl *Class)
 Gives the external AST source an opportunity to complete an incomplete Objective-C class. More...
 
virtual void ReadComments ()
 Loads comment ranges. More...
 
virtual void StartedDeserializing ()
 Notify ExternalASTSource that we started deserialization of a decl or type so until FinishedDeserializing is called there may be decls that are initializing. More...
 
virtual void FinishedDeserializing ()
 Notify ExternalASTSource that we finished the deserialization of a decl or type. More...
 
virtual void StartTranslationUnit (ASTConsumer *Consumer)
 Function that will be invoked when we begin parsing a new translation unit involving this external AST source. More...
 
virtual void PrintStats ()
 Print any statistics that have been gathered regarding the external AST source. More...
 
virtual 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)
 Perform layout on the given record. More...
 
MemoryBufferSizes getMemoryBufferSizes () const
 Return the amount of memory used by memory buffers, breaking down by heap-backed versus mmap'ed memory. More...
 
virtual void getMemoryBufferSizes (MemoryBufferSizes &sizes) const
 

Additional Inherited Members

- Public Types inherited from clang::ExternalASTSource
enum  ExtKind { EK_Always, EK_Never, EK_ReplyHazy }
 
- Static Public Member Functions inherited from clang::ExternalSemaSource
static bool classof (const ExternalASTSource *S)
 
- Static Public Member Functions inherited from clang::ExternalASTSource
static bool classof (const ExternalASTSource *S)
 
- Protected Member Functions inherited from clang::ExternalASTSource
uint32_t incrementGeneration (ASTContext &C)
 Increment the current generation. More...
 
- Static Protected Member Functions inherited from clang::ExternalASTSource
static DeclContextLookupResult SetExternalVisibleDeclsForName (const DeclContext *DC, DeclarationName Name, ArrayRef< NamedDecl * > Decls)
 
static DeclContextLookupResult SetNoExternalVisibleDeclsForName (const DeclContext *DC, DeclarationName Name)
 

Detailed Description

Definition at line 23 of file HLSLExternalSemaSource.h.

Constructor & Destructor Documentation

◆ ~HLSLExternalSemaSource()

HLSLExternalSemaSource::~HLSLExternalSemaSource ( )
override

Definition at line 350 of file HLSLExternalSemaSource.cpp.

Member Function Documentation

◆ CompleteType() [1/3]

void ExternalASTSource::CompleteType

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().

Definition at line 51 of file ExternalASTSource.cpp.

◆ CompleteType() [2/3]

void ExternalASTSource::CompleteType

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

Definition at line 49 of file ExternalASTSource.cpp.

◆ CompleteType() [3/3]

void HLSLExternalSemaSource::CompleteType ( TagDecl Tag)
overridevirtual

Complete an incomplete HLSL builtin type.

Reimplemented from clang::ExternalASTSource.

Definition at line 451 of file HLSLExternalSemaSource.cpp.

◆ ForgetSema()

void clang::HLSLExternalSemaSource::ForgetSema ( )
inlineoverridevirtual

Inform the semantic consumer that Sema is no longer available.

Reimplemented from clang::ExternalSemaSource.

Definition at line 46 of file HLSLExternalSemaSource.h.

◆ InitializeSema()

void HLSLExternalSemaSource::InitializeSema ( Sema S)
overridevirtual

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 352 of file HLSLExternalSemaSource.cpp.


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