|
| ExternalASTSourceWrapper (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) 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.
|
|
Wraps an ExternalASTSource into an ExternalSemaSource.
Assumes shared ownership of the underlying source.
Definition at line 32 of file ASTUtils.h.
void lldb_private::ExternalASTSourceWrapper::ReadUndefinedButUsed |
( |
llvm::MapVector< clang::NamedDecl *, clang::SourceLocation > & |
Undefined | ) |
|
|
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.
- Parameters
-
[in,out] | Undefined | A set of used decls for which Clang has not been provided a definition with. |
Definition at line 163 of file ASTUtils.h.