LLDB mainline
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
lldb_private::AppleObjCDeclVendor Class Reference

#include <AppleObjCDeclVendor.h>

Inheritance diagram for lldb_private::AppleObjCDeclVendor:
Inheritance graph
[legend]

Public Member Functions

 AppleObjCDeclVendor (ObjCLanguageRuntime &runtime)
 
uint32_t FindDecls (ConstString name, bool append, uint32_t max_matches, std::vector< CompilerDecl > &decls) override
 Look up the set of Decls that the DeclVendor currently knows about matching a given name.
 
- Public Member Functions inherited from lldb_private::ClangDeclVendor
 ClangDeclVendor (DeclVendorKind kind)
 
 ~ClangDeclVendor () override=default
 
uint32_t FindDecls (ConstString name, bool append, uint32_t max_matches, std::vector< clang::NamedDecl * > &decls)
 
virtual uint32_t FindDecls (ConstString name, bool append, uint32_t max_matches, std::vector< CompilerDecl > &decls)=0
 Look up the set of Decls that the DeclVendor currently knows about matching a given name.
 
- Public Member Functions inherited from lldb_private::DeclVendor
 DeclVendor (DeclVendorKind kind)
 
virtual ~DeclVendor ()=default
 
DeclVendorKind GetKind () const
 
virtual uint32_t FindDecls (ConstString name, bool append, uint32_t max_matches, std::vector< CompilerDecl > &decls)=0
 Look up the set of Decls that the DeclVendor currently knows about matching a given name.
 
std::vector< CompilerTypeFindTypes (ConstString name, uint32_t max_matches)
 Look up the types that the DeclVendor currently knows about matching a given name.
 

Static Public Member Functions

static bool classof (const DeclVendor *vendor)
 
- Static Public Member Functions inherited from lldb_private::ClangDeclVendor
static bool classof (const DeclVendor *vendor)
 

Private Types

typedef llvm::DenseMap< ObjCLanguageRuntime::ObjCISA, clang::ObjCInterfaceDecl * > ISAToInterfaceMap
 

Private Member Functions

clang::ObjCInterfaceDecl * GetDeclForISA (ObjCLanguageRuntime::ObjCISA isa)
 
bool FinishDecl (clang::ObjCInterfaceDecl *decl)
 

Private Attributes

ObjCLanguageRuntimem_runtime
 
std::shared_ptr< TypeSystemClangm_ast_ctx
 
ObjCLanguageRuntime::EncodingToTypeSP m_type_realizer_sp
 
AppleObjCExternalASTSourcem_external_source
 
ISAToInterfaceMap m_isa_to_interface
 

Friends

class AppleObjCExternalASTSource
 

Additional Inherited Members

- Public Types inherited from lldb_private::DeclVendor
enum  DeclVendorKind { eClangDeclVendor , eClangModuleDeclVendor , eAppleObjCDeclVendor , eLastClangDeclVendor }
 

Detailed Description

Definition at line 22 of file AppleObjCDeclVendor.h.

Member Typedef Documentation

◆ ISAToInterfaceMap

typedef llvm::DenseMap<ObjCLanguageRuntime::ObjCISA, clang::ObjCInterfaceDecl *> lldb_private::AppleObjCDeclVendor::ISAToInterfaceMap
private

Definition at line 46 of file AppleObjCDeclVendor.h.

Constructor & Destructor Documentation

◆ AppleObjCDeclVendor()

AppleObjCDeclVendor::AppleObjCDeclVendor ( ObjCLanguageRuntime runtime)

Member Function Documentation

◆ classof()

static bool lldb_private::AppleObjCDeclVendor::classof ( const DeclVendor vendor)
inlinestatic

◆ FindDecls()

uint32_t AppleObjCDeclVendor::FindDecls ( ConstString  name,
bool  append,
uint32_t  max_matches,
std::vector< CompilerDecl > &  decls 
)
overridevirtual

Look up the set of Decls that the DeclVendor currently knows about matching a given name.

Parameters
[in]nameThe name to look for.
[in]appendIf true, FindDecls will clear "decls" when it starts.
[in]max_matchesThe maximum number of Decls to return. UINT32_MAX means "as many as possible."
Returns
The number of Decls added to decls; will not exceed max_matches.

Implements lldb_private::DeclVendor.

Definition at line 525 of file AppleObjCDeclVendor.cpp.

References lldb_private::ConstString::AsCString(), lldb_private::Expressions, GetDeclForISA(), lldb_private::ObjCLanguageRuntime::GetISA(), lldb_private::ClangASTMetadata::GetISAPtr(), lldb_private::GetLog(), lldb_private::ConstString::GetStringRef(), LLDB_INVALID_ADDRESS, LLDB_LOG, LLDB_LOGF, m_ast_ctx, and m_runtime.

◆ FinishDecl()

bool AppleObjCDeclVendor::FinishDecl ( clang::ObjCInterfaceDecl *  decl)
private

◆ GetDeclForISA()

clang::ObjCInterfaceDecl * AppleObjCDeclVendor::GetDeclForISA ( ObjCLanguageRuntime::ObjCISA  isa)
private

Friends And Related Function Documentation

◆ AppleObjCExternalASTSource

friend class AppleObjCExternalASTSource
friend

Definition at line 33 of file AppleObjCDeclVendor.h.

Referenced by AppleObjCDeclVendor().

Member Data Documentation

◆ m_ast_ctx

std::shared_ptr<TypeSystemClang> lldb_private::AppleObjCDeclVendor::m_ast_ctx
private

◆ m_external_source

AppleObjCExternalASTSource* lldb_private::AppleObjCDeclVendor::m_external_source
private

Definition at line 42 of file AppleObjCDeclVendor.h.

Referenced by AppleObjCDeclVendor().

◆ m_isa_to_interface

ISAToInterfaceMap lldb_private::AppleObjCDeclVendor::m_isa_to_interface
private

Definition at line 48 of file AppleObjCDeclVendor.h.

Referenced by GetDeclForISA().

◆ m_runtime

ObjCLanguageRuntime& lldb_private::AppleObjCDeclVendor::m_runtime
private

Definition at line 39 of file AppleObjCDeclVendor.h.

Referenced by FindDecls(), FinishDecl(), and GetDeclForISA().

◆ m_type_realizer_sp

ObjCLanguageRuntime::EncodingToTypeSP lldb_private::AppleObjCDeclVendor::m_type_realizer_sp
private

Definition at line 41 of file AppleObjCDeclVendor.h.

Referenced by FinishDecl().


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