Showing content from https://clang.llvm.org/doxygen/classclang_1_1ExternalASTSource.html below:
clang: clang::ExternalASTSource Class Reference
Abstract interface for external sources of AST nodes. More...
#include "clang/AST/ExternalASTSource.h"
ExternalASTSource ()=default virtual ~ExternalASTSource () uint32_t getGeneration () const Get the current generation of this AST source.
virtual Decl * GetExternalDecl (GlobalDeclID ID) Resolve a declaration ID into a declaration, potentially building a new declaration.
virtual Selector GetExternalSelector (uint32_t ID) Resolve a selector ID into a selector.
virtual uint32_t GetNumExternalSelectors () Returns the number of selectors known to the external AST source.
virtual Stmt * GetExternalDeclStmt (uint64_t Offset) Resolve the offset of a statement in the decl stream into a statement.
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.
virtual CXXBaseSpecifier * GetExternalCXXBaseSpecifiers (uint64_t Offset) Resolve the offset of a set of C++ base specifiers in the decl stream into an array of specifiers.
virtual void updateOutOfDateIdentifier (const IdentifierInfo &II) Update an out-of-date identifier.
virtual bool FindExternalVisibleDeclsByName (const DeclContext *DC, DeclarationName Name, const DeclContext *OriginalDC) Find all declarations with the given name in the given context, and add them to the context by calling SetExternalVisibleDeclsForName or SetNoExternalVisibleDeclsForName.
virtual bool LoadExternalSpecializations (const Decl *D, bool OnlyPartial) Load all the external specializations for the Decl.
virtual bool LoadExternalSpecializations (const Decl *D, ArrayRef< TemplateArgument > TemplateArgs) Load all the specializations for the Decl.
virtual void completeVisibleDeclsMap (const DeclContext *DC) Ensures that the table of all visible declarations inside this context is up to date.
virtual Module * getModule (unsigned ID) Retrieve the module that corresponds to the given module ID.
virtual std::optional< ASTSourceDescriptor > getSourceDescriptor (unsigned ID) Return a descriptor for the corresponding module, if one exists.
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.
void FindExternalLexicalDecls (const DeclContext *DC, SmallVectorImpl< Decl * > &Result) Finds all declarations lexically contained within the given DeclContext.
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.
virtual void CompleteRedeclChain (const Decl *D) Gives the external AST source an opportunity to complete the redeclaration chain for a declaration.
virtual void CompleteType (TagDecl *Tag) Gives the external AST source an opportunity to complete an incomplete type.
virtual void CompleteType (ObjCInterfaceDecl *Class) Gives the external AST source an opportunity to complete an incomplete Objective-C class.
virtual void ReadComments () Loads comment ranges.
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.
virtual void FinishedDeserializing () Notify ExternalASTSource that we finished the deserialization of a decl or type.
virtual void StartTranslationUnit (ASTConsumer *Consumer) Function that will be invoked when we begin parsing a new translation unit involving this external AST source.
virtual void PrintStats () Print any statistics that have been gathered regarding the external AST source.
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.
MemoryBufferSizes getMemoryBufferSizes () const Return the amount of memory used by memory buffers, breaking down by heap-backed versus mmap'ed memory.
virtual void getMemoryBufferSizes (MemoryBufferSizes &sizes) const
Abstract interface for external sources of AST nodes.
External AST sources provide AST nodes constructed from some external source, such as a precompiled header. External AST sources can resolve types and declarations from abstract IDs into actual type and declaration nodes, and read parts of declaration contexts.
Definition at line 62 of file ExternalASTSource.h.
◆ ExtKind ◆ ExternalASTSource() clang::ExternalASTSource::ExternalASTSource ( ) default ◆ ~ExternalASTSource() ExternalASTSource::~ExternalASTSource ( ) virtualdefault ◆ classof() ◆ CompleteRedeclChain() void ExternalASTSource::CompleteRedeclChain ( const Decl * D ) virtual ◆ CompleteType() [1/2] ◆ CompleteType() [2/2] void ExternalASTSource::CompleteType ( TagDecl * Tag ) virtual ◆ completeVisibleDeclsMap() void ExternalASTSource::completeVisibleDeclsMap ( const DeclContext * DC ) virtual ◆ FindExternalLexicalDecls() [1/2] ◆ FindExternalLexicalDecls() [2/2] ◆ FindExternalVisibleDeclsByName()
Find all declarations with the given name in the given context, and add them to the context by calling SetExternalVisibleDeclsForName or SetNoExternalVisibleDeclsForName.
-
Parameters
-
DC The context for lookup in.
DC
should be a primary context. Name The name to look for. OriginalDC The original context for lookup. OriginalDC
can provide more information than DC
. e.g., The same namespace can appear in multiple module units. So we need the OriginalDC
to tell us what the module the lookup come from.
-
Returns
-
true
if any declarations might have been found, false
if we definitely have no declarations with tbis name.
The default implementation of this method is a no-op returning false
.
Reimplemented in clang::ExternalASTMerger, clang::MultiplexExternalSemaSource, clang::ASTReader, and clang::ExternalSource.
Definition at line 93 of file ExternalASTSource.cpp.
◆ FindFileRegionDecls() ◆ FinishedDeserializing() void ExternalASTSource::FinishedDeserializing ( ) virtual ◆ GetExternalCXXBaseSpecifiers() CXXBaseSpecifier * ExternalASTSource::GetExternalCXXBaseSpecifiers ( uint64_t Offset ) virtual ◆ GetExternalCXXCtorInitializers() CXXCtorInitializer ** ExternalASTSource::GetExternalCXXCtorInitializers ( uint64_t Offset ) virtual ◆ GetExternalDecl()
Resolve a declaration ID into a declaration, potentially building a new declaration.
This method only needs to be implemented if the AST source ever passes back decl sets as VisibleDeclaration objects.
The default implementation of this method is a no-op.
Reimplemented in clang::MultiplexExternalSemaSource, and clang::ASTReader.
Definition at line 69 of file ExternalASTSource.cpp.
◆ GetExternalDeclStmt() Stmt * ExternalASTSource::GetExternalDeclStmt ( uint64_t Offset ) virtual ◆ GetExternalSelector() Selector ExternalASTSource::GetExternalSelector ( uint32_t ID ) virtual ◆ getGeneration() uint32_t clang::ExternalASTSource::getGeneration ( ) const inline ◆ getMemoryBufferSizes() [1/2] ◆ getMemoryBufferSizes() [2/2] ◆ getModule() ◆ GetNumExternalSelectors() uint32_t ExternalASTSource::GetNumExternalSelectors ( ) virtual ◆ getSourceDescriptor() ◆ hasExternalDefinitions() ◆ incrementGeneration() uint32_t ExternalASTSource::incrementGeneration ( ASTContext & C ) protected ◆ isA() virtual bool clang::ExternalASTSource::isA ( const void * ClassID ) const inlinevirtual ◆ layoutRecordType()
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
-
Record The record whose layout is being requested. Size The final size of the record, in bits. Alignment The final alignment of the record, in bits. FieldOffsets The offset of each of the fields within the record, expressed in bits. All of the fields must be provided with offsets. BaseOffsets The 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. VirtualBaseOffsets The 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 in clang::LayoutOverrideSource, and clang::MultiplexExternalSemaSource.
Definition at line 61 of file ExternalASTSource.cpp.
◆ LoadExternalSpecializations() [1/2] ◆ LoadExternalSpecializations() [2/2] bool ExternalASTSource::LoadExternalSpecializations ( const Decl * D, bool OnlyPartial ) virtual ◆ PrintStats() void ExternalASTSource::PrintStats ( ) virtual ◆ ReadComments() void ExternalASTSource::ReadComments ( ) virtual ◆ SetExternalVisibleDeclsForName() ◆ SetNoExternalVisibleDeclsForName() ◆ StartedDeserializing() void ExternalASTSource::StartedDeserializing ( ) virtual ◆ StartTranslationUnit() void ExternalASTSource::StartTranslationUnit ( ASTConsumer * Consumer ) virtual ◆ updateOutOfDateIdentifier() virtual void clang::ExternalASTSource::updateOutOfDateIdentifier ( const IdentifierInfo & II ) inlinevirtual ◆ ExternalSemaSource
The documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4