LLDB mainline
|
Wraps an ExternalASTSource into an ExternalSemaSource. More...
#include <ASTUtils.h>
Public Member Functions | |
ExternalASTSourceWrapper (llvm::IntrusiveRefCntPtr< ExternalASTSource > Source) | |
~ExternalASTSourceWrapper () override | |
clang::Decl * | GetExternalDecl (clang::GlobalDeclID ID) override |
clang::Selector | GetExternalSelector (uint32_t ID) override |
uint32_t | GetNumExternalSelectors () override |
clang::Stmt * | GetExternalDeclStmt (uint64_t Offset) override |
clang::CXXCtorInitializer ** | GetExternalCXXCtorInitializers (uint64_t Offset) override |
clang::CXXBaseSpecifier * | GetExternalCXXBaseSpecifiers (uint64_t Offset) override |
void | updateOutOfDateIdentifier (const clang::IdentifierInfo &II) override |
bool | FindExternalVisibleDeclsByName (const clang::DeclContext *DC, clang::DeclarationName Name, const clang::DeclContext *OriginalDC) override |
bool | LoadExternalSpecializations (const clang::Decl *D, bool OnlyPartial) override |
bool | LoadExternalSpecializations (const clang::Decl *D, llvm::ArrayRef< clang::TemplateArgument > TemplateArgs) override |
void | completeVisibleDeclsMap (const clang::DeclContext *DC) override |
clang::Module * | getModule (unsigned ID) override |
std::optional< clang::ASTSourceDescriptor > | getSourceDescriptor (unsigned ID) override |
ExtKind | hasExternalDefinitions (const clang::Decl *D) 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 | CompleteRedeclChain (const clang::Decl *D) 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 |
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 | ReadUndefinedButUsed (llvm::MapVector< clang::NamedDecl *, clang::SourceLocation > &Undefined) override |
This gets called when Sema is reconciling undefined but used decls. |
Private Attributes | |
llvm::IntrusiveRefCntPtr< ExternalASTSource > | m_Source |
Wraps an ExternalASTSource into an ExternalSemaSource.
Assumes shared ownership of the underlying source.
Definition at line 32 of file ASTUtils.h.
|
inlineexplicit |
Definition at line 36 of file ASTUtils.h.
References m_Source, and lldb_private::Source.
|
overridedefault |
|
inlineoverride |
Definition at line 121 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 129 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 125 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 91 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 108 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 74 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 116 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 137 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 66 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 61 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 44 of file ASTUtils.h.
|
inlineoverride |
Definition at line 56 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 48 of file ASTUtils.h.
|
inlineoverride |
Definition at line 95 of file ASTUtils.h.
|
inlineoverride |
Definition at line 52 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 100 of file ASTUtils.h.
|
inlineoverride |
Definition at line 104 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 145 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 80 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 85 of file ASTUtils.h.
References m_Source.
|
override |
Definition at line 13 of file ASTUtils.cpp.
References m_Source.
|
inlineoverride |
Definition at line 133 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
This gets called when Sema is reconciling undefined but used decls.
For LLDB's use-case, we never provide Clang with function definitions, instead we rely on linkage names and symbol resolution to call the correct funcitons during JITting. So this implementation clears any "undefined" FunctionDecls that Clang found while parsing.
[in,out] | Undefined | A set of used decls for which Clang has not been provided a definition with. |
Definition at line 165 of file ASTUtils.h.
|
inlineoverride |
Definition at line 135 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 139 of file ASTUtils.h.
References m_Source.
|
inlineoverride |
Definition at line 70 of file ASTUtils.h.
References m_Source.
|
private |
Definition at line 33 of file ASTUtils.h.
Referenced by CompleteRedeclChain(), CompleteType(), CompleteType(), completeVisibleDeclsMap(), ExternalASTSourceWrapper(), FindExternalLexicalDecls(), FindExternalVisibleDeclsByName(), FindFileRegionDecls(), FinishedDeserializing(), GetExternalCXXBaseSpecifiers(), GetExternalCXXCtorInitializers(), GetExternalDecl(), GetExternalDeclStmt(), GetExternalSelector(), getModule(), GetNumExternalSelectors(), getSourceDescriptor(), hasExternalDefinitions(), layoutRecordType(), LoadExternalSpecializations(), LoadExternalSpecializations(), PrintStats(), ReadComments(), StartedDeserializing(), StartTranslationUnit(), and updateOutOfDateIdentifier().