#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclarationName.h"
#include "clang/Basic/ASTSourceDescriptor.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceManager.h"
#include "llvm/Support/ErrorHandling.h"
#include <cstdint>
#include <optional>
usingnamespaceclang;
char ExternalASTSource::ID;
ExternalASTSource::~ExternalASTSource() = default;
std::optional<ASTSourceDescriptor>
ExternalASTSource::getSourceDescriptor(unsigned ID) { … }
ExternalASTSource::ExtKind
ExternalASTSource::hasExternalDefinitions(const Decl *D) { … }
void ExternalASTSource::FindFileRegionDecls(FileID File, unsigned Offset,
unsigned Length,
SmallVectorImpl<Decl *> &Decls) { … }
void ExternalASTSource::CompleteRedeclChain(const Decl *D) { … }
void ExternalASTSource::CompleteType(TagDecl *Tag) { … }
void ExternalASTSource::CompleteType(ObjCInterfaceDecl *Class) { … }
void ExternalASTSource::ReadComments() { … }
void ExternalASTSource::StartedDeserializing() { … }
void ExternalASTSource::FinishedDeserializing() { … }
void ExternalASTSource::StartTranslationUnit(ASTConsumer *Consumer) { … }
void ExternalASTSource::PrintStats() { … }
bool ExternalASTSource::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) { … }
Decl *ExternalASTSource::GetExternalDecl(GlobalDeclID ID) { … }
Selector ExternalASTSource::GetExternalSelector(uint32_t ID) { … }
uint32_t ExternalASTSource::GetNumExternalSelectors() { … }
Stmt *ExternalASTSource::GetExternalDeclStmt(uint64_t Offset) { … }
CXXCtorInitializer **
ExternalASTSource::GetExternalCXXCtorInitializers(uint64_t Offset) { … }
CXXBaseSpecifier *
ExternalASTSource::GetExternalCXXBaseSpecifiers(uint64_t Offset) { … }
bool
ExternalASTSource::FindExternalVisibleDeclsByName(const DeclContext *DC,
DeclarationName Name) { … }
void ExternalASTSource::completeVisibleDeclsMap(const DeclContext *DC) { … }
void ExternalASTSource::FindExternalLexicalDecls(
const DeclContext *DC, llvm::function_ref<bool(Decl::Kind)> IsKindWeWant,
SmallVectorImpl<Decl *> &Result) { … }
void ExternalASTSource::getMemoryBufferSizes(MemoryBufferSizes &sizes) const { … }
uint32_t ExternalASTSource::incrementGeneration(ASTContext &C) { … }