LLDB  mainline
Public Member Functions | Private Attributes | List of all members
lldb_private::ExternalASTSourceWrapper Class Reference

Wraps an ExternalASTSource into an ExternalSemaSource. More...

#include <ASTUtils.h>

Inheritance diagram for lldb_private::ExternalASTSourceWrapper:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::ExternalASTSourceWrapper:
Collaboration graph
[legend]

Public Member Functions

 ExternalASTSourceWrapper (ExternalASTSource *Source)
 
 ~ExternalASTSourceWrapper () override
 
clang::Decl * GetExternalDecl (uint32_t 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 (clang::IdentifierInfo &II) override
 
bool FindExternalVisibleDeclsByName (const clang::DeclContext *DC, clang::DeclarationName Name) override
 
void completeVisibleDeclsMap (const clang::DeclContext *DC) override
 
clang::Module * getModule (unsigned ID) override
 
llvm::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
 

Private Attributes

ExternalASTSource * m_Source
 

Detailed Description

Wraps an ExternalASTSource into an ExternalSemaSource.

Doesn't take ownership of the provided source.

Definition at line 22 of file ASTUtils.h.

Constructor & Destructor Documentation

◆ ExternalASTSourceWrapper()

lldb_private::ExternalASTSourceWrapper::ExternalASTSourceWrapper ( ExternalASTSource *  Source)
inline

Definition at line 26 of file ASTUtils.h.

References m_Source.

◆ ~ExternalASTSourceWrapper()

lldb_private::ExternalASTSourceWrapper::~ExternalASTSourceWrapper ( )
overridedefault

Member Function Documentation

◆ CompleteRedeclChain()

void lldb_private::ExternalASTSourceWrapper::CompleteRedeclChain ( const clang::Decl *  D)
inlineoverride

Definition at line 97 of file ASTUtils.h.

References m_Source.

◆ CompleteType() [1/2]

void lldb_private::ExternalASTSourceWrapper::CompleteType ( clang::ObjCInterfaceDecl *  Class)
inlineoverride

Definition at line 105 of file ASTUtils.h.

References lldb_private::Class, and m_Source.

◆ CompleteType() [2/2]

void lldb_private::ExternalASTSourceWrapper::CompleteType ( clang::TagDecl *  Tag)
inlineoverride

Definition at line 101 of file ASTUtils.h.

References m_Source.

◆ completeVisibleDeclsMap()

void lldb_private::ExternalASTSourceWrapper::completeVisibleDeclsMap ( const clang::DeclContext *  DC)
inlineoverride

Definition at line 67 of file ASTUtils.h.

References m_Source.

◆ FindExternalLexicalDecls()

void lldb_private::ExternalASTSourceWrapper::FindExternalLexicalDecls ( const clang::DeclContext *  DC,
llvm::function_ref< bool(clang::Decl::Kind)>  IsKindWeWant,
llvm::SmallVectorImpl< clang::Decl * > &  Result 
)
inlineoverride

Definition at line 84 of file ASTUtils.h.

References m_Source.

◆ FindExternalVisibleDeclsByName()

bool lldb_private::ExternalASTSourceWrapper::FindExternalVisibleDeclsByName ( const clang::DeclContext *  DC,
clang::DeclarationName  Name 
)
inlineoverride

Definition at line 62 of file ASTUtils.h.

References m_Source.

◆ FindFileRegionDecls()

void lldb_private::ExternalASTSourceWrapper::FindFileRegionDecls ( clang::FileID  File,
unsigned  Offset,
unsigned  Length,
llvm::SmallVectorImpl< clang::Decl * > &  Decls 
)
inlineoverride

Definition at line 92 of file ASTUtils.h.

References m_Source.

◆ FinishedDeserializing()

void lldb_private::ExternalASTSourceWrapper::FinishedDeserializing ( )
inlineoverride

Definition at line 113 of file ASTUtils.h.

References m_Source.

◆ GetExternalCXXBaseSpecifiers()

clang::CXXBaseSpecifier* lldb_private::ExternalASTSourceWrapper::GetExternalCXXBaseSpecifiers ( uint64_t  Offset)
inlineoverride

Definition at line 54 of file ASTUtils.h.

References m_Source.

◆ GetExternalCXXCtorInitializers()

clang::CXXCtorInitializer** lldb_private::ExternalASTSourceWrapper::GetExternalCXXCtorInitializers ( uint64_t  Offset)
inlineoverride

Definition at line 49 of file ASTUtils.h.

References m_Source.

◆ GetExternalDecl()

clang::Decl* lldb_private::ExternalASTSourceWrapper::GetExternalDecl ( uint32_t  ID)
inlineoverride

Definition at line 32 of file ASTUtils.h.

References ID, and m_Source.

◆ GetExternalDeclStmt()

clang::Stmt* lldb_private::ExternalASTSourceWrapper::GetExternalDeclStmt ( uint64_t  Offset)
inlineoverride

Definition at line 44 of file ASTUtils.h.

References m_Source.

◆ GetExternalSelector()

clang::Selector lldb_private::ExternalASTSourceWrapper::GetExternalSelector ( uint32_t  ID)
inlineoverride

Definition at line 36 of file ASTUtils.h.

References ID, and m_Source.

◆ getModule()

clang::Module* lldb_private::ExternalASTSourceWrapper::getModule ( unsigned  ID)
inlineoverride

Definition at line 71 of file ASTUtils.h.

References ID, and m_Source.

◆ GetNumExternalSelectors()

uint32_t lldb_private::ExternalASTSourceWrapper::GetNumExternalSelectors ( )
inlineoverride

Definition at line 40 of file ASTUtils.h.

References m_Source.

◆ getSourceDescriptor()

llvm::Optional<clang::ASTSourceDescriptor> lldb_private::ExternalASTSourceWrapper::getSourceDescriptor ( unsigned  ID)
inlineoverride

Definition at line 76 of file ASTUtils.h.

References ID, and m_Source.

◆ hasExternalDefinitions()

ExtKind lldb_private::ExternalASTSourceWrapper::hasExternalDefinitions ( const clang::Decl *  D)
inlineoverride

Definition at line 80 of file ASTUtils.h.

References m_Source.

◆ layoutRecordType()

bool lldb_private::ExternalASTSourceWrapper::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 
)
inlineoverride

Definition at line 121 of file ASTUtils.h.

References m_Source.

◆ PrintStats()

void lldb_private::ExternalASTSourceWrapper::PrintStats ( )
override

Definition at line 13 of file ASTUtils.cpp.

References m_Source.

◆ ReadComments()

void lldb_private::ExternalASTSourceWrapper::ReadComments ( )
inlineoverride

Definition at line 109 of file ASTUtils.h.

References m_Source.

◆ StartedDeserializing()

void lldb_private::ExternalASTSourceWrapper::StartedDeserializing ( )
inlineoverride

Definition at line 111 of file ASTUtils.h.

References m_Source.

◆ StartTranslationUnit()

void lldb_private::ExternalASTSourceWrapper::StartTranslationUnit ( clang::ASTConsumer *  Consumer)
inlineoverride

Definition at line 115 of file ASTUtils.h.

References m_Source.

◆ updateOutOfDateIdentifier()

void lldb_private::ExternalASTSourceWrapper::updateOutOfDateIdentifier ( clang::IdentifierInfo &  II)
inlineoverride

Definition at line 58 of file ASTUtils.h.

References m_Source.

Member Data Documentation

◆ m_Source

ExternalASTSource* lldb_private::ExternalASTSourceWrapper::m_Source
private

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