LLDB  mainline
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
lldb_private::TypeSystem Class Referenceabstract

#include <TypeSystem.h>

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

Public Types

enum  LLVMCastKind { eKindClang, eKindSwift, eKindOCaml, kNumKinds }
 

Public Member Functions

 TypeSystem (LLVMCastKind kind)
 
 ~TypeSystem () override
 
LLVMCastKind getKind () const
 
virtual void Finalize ()
 
virtual DWARFASTParserGetDWARFParser ()
 
virtual PDBASTParserGetPDBParser ()
 
virtual SymbolFileGetSymbolFile () const
 
virtual void SetSymbolFile (SymbolFile *sym_file)
 
virtual ConstString DeclGetName (void *opaque_decl)=0
 
virtual ConstString DeclGetMangledName (void *opaque_decl)
 
virtual CompilerDeclContext DeclGetDeclContext (void *opaque_decl)
 
virtual CompilerType DeclGetFunctionReturnType (void *opaque_decl)
 
virtual size_t DeclGetFunctionNumArguments (void *opaque_decl)
 
virtual CompilerType DeclGetFunctionArgumentType (void *opaque_decl, size_t arg_idx)
 
virtual std::vector< CompilerDeclDeclContextFindDeclByName (void *opaque_decl_ctx, ConstString name, const bool ignore_imported_decls)
 
virtual bool DeclContextIsStructUnionOrClass (void *opaque_decl_ctx)=0
 
virtual ConstString DeclContextGetName (void *opaque_decl_ctx)=0
 
virtual ConstString DeclContextGetScopeQualifiedName (void *opaque_decl_ctx)=0
 
virtual bool DeclContextIsClassMethod (void *opaque_decl_ctx, lldb::LanguageType *language_ptr, bool *is_instance_method_ptr, ConstString *language_object_name_ptr)=0
 
virtual bool DeclContextIsContainedInLookup (void *opaque_decl_ctx, void *other_opaque_decl_ctx)=0
 
virtual bool IsArrayType (lldb::opaque_compiler_type_t type, CompilerType *element_type, uint64_t *size, bool *is_incomplete)=0
 
virtual bool IsAggregateType (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsAnonymousType (lldb::opaque_compiler_type_t type)
 
virtual bool IsCharType (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsCompleteType (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsDefined (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsFloatingPointType (lldb::opaque_compiler_type_t type, uint32_t &count, bool &is_complex)=0
 
virtual bool IsFunctionType (lldb::opaque_compiler_type_t type, bool *is_variadic_ptr)=0
 
virtual size_t GetNumberOfFunctionArguments (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetFunctionArgumentAtIndex (lldb::opaque_compiler_type_t type, const size_t index)=0
 
virtual bool IsFunctionPointerType (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsBlockPointerType (lldb::opaque_compiler_type_t type, CompilerType *function_pointer_type_ptr)=0
 
virtual bool IsIntegerType (lldb::opaque_compiler_type_t type, bool &is_signed)=0
 
virtual bool IsEnumerationType (lldb::opaque_compiler_type_t type, bool &is_signed)
 
virtual bool IsPossibleDynamicType (lldb::opaque_compiler_type_t type, CompilerType *target_type, bool check_cplusplus, bool check_objc)=0
 
virtual bool IsPointerType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type)=0
 
virtual bool IsScalarType (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsVoidType (lldb::opaque_compiler_type_t type)=0
 
virtual bool SupportsLanguage (lldb::LanguageType language)=0
 
virtual bool GetCompleteType (lldb::opaque_compiler_type_t type)=0
 
virtual uint32_t GetPointerByteSize ()=0
 
virtual ConstString GetTypeName (lldb::opaque_compiler_type_t type)=0
 
virtual uint32_t GetTypeInfo (lldb::opaque_compiler_type_t type, CompilerType *pointee_or_element_compiler_type)=0
 
virtual lldb::LanguageType GetMinimumLanguage (lldb::opaque_compiler_type_t type)=0
 
virtual lldb::TypeClass GetTypeClass (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetArrayElementType (lldb::opaque_compiler_type_t type, uint64_t *stride)=0
 
virtual CompilerType GetArrayType (lldb::opaque_compiler_type_t type, uint64_t size)
 
virtual CompilerType GetCanonicalType (lldb::opaque_compiler_type_t type)=0
 
virtual int GetFunctionArgumentCount (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetFunctionArgumentTypeAtIndex (lldb::opaque_compiler_type_t type, size_t idx)=0
 
virtual CompilerType GetFunctionReturnType (lldb::opaque_compiler_type_t type)=0
 
virtual size_t GetNumMemberFunctions (lldb::opaque_compiler_type_t type)=0
 
virtual TypeMemberFunctionImpl GetMemberFunctionAtIndex (lldb::opaque_compiler_type_t type, size_t idx)=0
 
virtual CompilerType GetPointeeType (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetPointerType (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetLValueReferenceType (lldb::opaque_compiler_type_t type)
 
virtual CompilerType GetRValueReferenceType (lldb::opaque_compiler_type_t type)
 
virtual CompilerType AddConstModifier (lldb::opaque_compiler_type_t type)
 
virtual CompilerType AddVolatileModifier (lldb::opaque_compiler_type_t type)
 
virtual CompilerType AddRestrictModifier (lldb::opaque_compiler_type_t type)
 
virtual CompilerType CreateTypedef (lldb::opaque_compiler_type_t type, const char *name, const CompilerDeclContext &decl_ctx)
 
virtual llvm::Optional< uint64_t > GetBitSize (lldb::opaque_compiler_type_t type, ExecutionContextScope *exe_scope)=0
 
virtual lldb::Encoding GetEncoding (lldb::opaque_compiler_type_t type, uint64_t &count)=0
 
virtual lldb::Format GetFormat (lldb::opaque_compiler_type_t type)=0
 
virtual uint32_t GetNumChildren (lldb::opaque_compiler_type_t type, bool omit_empty_base_classes, const ExecutionContext *exe_ctx)=0
 
virtual CompilerType GetBuiltinTypeByName (ConstString name)
 
virtual lldb::BasicType GetBasicTypeEnumeration (lldb::opaque_compiler_type_t type)=0
 
virtual void ForEachEnumerator (lldb::opaque_compiler_type_t type, std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const &callback)
 
virtual uint32_t GetNumFields (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetFieldAtIndex (lldb::opaque_compiler_type_t type, size_t idx, std::string &name, uint64_t *bit_offset_ptr, uint32_t *bitfield_bit_size_ptr, bool *is_bitfield_ptr)=0
 
virtual uint32_t GetNumDirectBaseClasses (lldb::opaque_compiler_type_t type)=0
 
virtual uint32_t GetNumVirtualBaseClasses (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetDirectBaseClassAtIndex (lldb::opaque_compiler_type_t type, size_t idx, uint32_t *bit_offset_ptr)=0
 
virtual CompilerType GetVirtualBaseClassAtIndex (lldb::opaque_compiler_type_t type, size_t idx, uint32_t *bit_offset_ptr)=0
 
virtual CompilerType GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, size_t idx, bool transparent_pointers, bool omit_empty_base_classes, bool ignore_array_bounds, std::string &child_name, uint32_t &child_byte_size, int32_t &child_byte_offset, uint32_t &child_bitfield_bit_size, uint32_t &child_bitfield_bit_offset, bool &child_is_base_class, bool &child_is_deref_of_parent, ValueObject *valobj, uint64_t &language_flags)=0
 
virtual uint32_t GetIndexOfChildWithName (lldb::opaque_compiler_type_t type, const char *name, bool omit_empty_base_classes)=0
 
virtual size_t GetIndexOfChildMemberWithName (lldb::opaque_compiler_type_t type, const char *name, bool omit_empty_base_classes, std::vector< uint32_t > &child_indexes)=0
 
virtual size_t GetNumTemplateArguments (lldb::opaque_compiler_type_t type)
 
virtual lldb::TemplateArgumentKind GetTemplateArgumentKind (lldb::opaque_compiler_type_t type, size_t idx)
 
virtual CompilerType GetTypeTemplateArgument (lldb::opaque_compiler_type_t type, size_t idx)
 
virtual llvm::Optional< CompilerType::IntegralTemplateArgumentGetIntegralTemplateArgument (lldb::opaque_compiler_type_t type, size_t idx)
 
virtual LLVM_DUMP_METHOD void dump (lldb::opaque_compiler_type_t type) const =0
 Convenience LLVM-style dump method for use in the debugger only. More...
 
virtual void DumpValue (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, Stream *s, lldb::Format format, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, bool show_types, bool show_summary, bool verbose, uint32_t depth)=0
 
virtual bool DumpTypeValue (lldb::opaque_compiler_type_t type, Stream *s, lldb::Format format, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, ExecutionContextScope *exe_scope)=0
 
virtual void DumpTypeDescription (lldb::opaque_compiler_type_t type)=0
 
virtual void DumpTypeDescription (lldb::opaque_compiler_type_t type, Stream *s)=0
 
virtual bool IsRuntimeGeneratedType (lldb::opaque_compiler_type_t type)=0
 
virtual void DumpSummary (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, Stream *s, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size)=0
 
virtual size_t ConvertStringToFloatValue (lldb::opaque_compiler_type_t type, const char *s, uint8_t *dst, size_t dst_size)=0
 
virtual bool IsPointerOrReferenceType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type)=0
 
virtual unsigned GetTypeQualifiers (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsCStringType (lldb::opaque_compiler_type_t type, uint32_t &length)=0
 
virtual size_t GetTypeBitAlign (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetBasicTypeFromAST (lldb::BasicType basic_type)=0
 
virtual CompilerType GetBuiltinTypeForEncodingAndBitSize (lldb::Encoding encoding, size_t bit_size)=0
 
virtual bool IsBeingDefined (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsConst (lldb::opaque_compiler_type_t type)=0
 
virtual uint32_t IsHomogeneousAggregate (lldb::opaque_compiler_type_t type, CompilerType *base_type_ptr)=0
 
virtual bool IsPolymorphicClass (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsTypedefType (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetTypedefedType (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsVectorType (lldb::opaque_compiler_type_t type, CompilerType *element_type, uint64_t *size)=0
 
virtual CompilerType GetFullyUnqualifiedType (lldb::opaque_compiler_type_t type)=0
 
virtual CompilerType GetNonReferenceType (lldb::opaque_compiler_type_t type)=0
 
virtual bool IsReferenceType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type, bool *is_rvalue)=0
 
virtual bool ShouldTreatScalarValueAsAddress (lldb::opaque_compiler_type_t type)
 
virtual UserExpressionGetUserExpression (llvm::StringRef expr, llvm::StringRef prefix, lldb::LanguageType language, Expression::ResultType desired_type, const EvaluateExpressionOptions &options, ValueObject *ctx_obj)
 
virtual FunctionCallerGetFunctionCaller (const CompilerType &return_type, const Address &function_address, const ValueList &arg_value_list, const char *name)
 
virtual UtilityFunctionGetUtilityFunction (const char *text, const char *name)
 
virtual PersistentExpressionStateGetPersistentExpressionState ()
 
virtual CompilerType GetTypeForFormatters (void *type)
 
virtual LazyBool ShouldPrintAsOneLiner (void *type, ValueObject *valobj)
 
virtual bool IsMeaninglessWithoutDynamicResolution (void *type)
 
- Public Member Functions inherited from lldb_private::PluginInterface
virtual ~PluginInterface ()
 
virtual ConstString GetPluginName ()=0
 
virtual uint32_t GetPluginVersion ()=0
 

Static Public Member Functions

static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Module *module)
 
static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Target *target)
 

Protected Attributes

const LLVMCastKind m_kind
 
SymbolFilem_sym_file
 

Detailed Description

Definition at line 33 of file TypeSystem.h.

Member Enumeration Documentation

◆ LLVMCastKind

Enumerator
eKindClang 
eKindSwift 
eKindOCaml 
kNumKinds 

Definition at line 64 of file TypeSystem.h.

Constructor & Destructor Documentation

◆ TypeSystem()

TypeSystem::TypeSystem ( LLVMCastKind  kind)

Definition at line 27 of file TypeSystem.cpp.

◆ ~TypeSystem()

TypeSystem::~TypeSystem ( )
override

Definition at line 29 of file TypeSystem.cpp.

Member Function Documentation

◆ AddConstModifier()

CompilerType TypeSystem::AddConstModifier ( lldb::opaque_compiler_type_t  type)
virtual

◆ AddRestrictModifier()

CompilerType TypeSystem::AddRestrictModifier ( lldb::opaque_compiler_type_t  type)
virtual

◆ AddVolatileModifier()

CompilerType TypeSystem::AddVolatileModifier ( lldb::opaque_compiler_type_t  type)
virtual

◆ ConvertStringToFloatValue()

virtual size_t lldb_private::TypeSystem::ConvertStringToFloatValue ( lldb::opaque_compiler_type_t  type,
const char *  s,
uint8_t *  dst,
size_t  dst_size 
)
pure virtual

◆ CreateInstance() [1/2]

lldb::TypeSystemSP TypeSystem::CreateInstance ( lldb::LanguageType  language,
Module module 
)
static

◆ CreateInstance() [2/2]

lldb::TypeSystemSP TypeSystem::CreateInstance ( lldb::LanguageType  language,
Target target 
)
static

Definition at line 51 of file TypeSystem.cpp.

References CreateInstanceHelper().

◆ CreateTypedef()

CompilerType TypeSystem::CreateTypedef ( lldb::opaque_compiler_type_t  type,
const char *  name,
const CompilerDeclContext decl_ctx 
)
virtual

Reimplemented in lldb_private::ClangASTContext.

Definition at line 89 of file TypeSystem.cpp.

Referenced by lldb_private::CompilerType::CreateTypedef(), and IsEnumerationType().

◆ DeclContextFindDeclByName()

std::vector< CompilerDecl > TypeSystem::DeclContextFindDeclByName ( void *  opaque_decl_ctx,
ConstString  name,
const bool  ignore_imported_decls 
)
virtual

◆ DeclContextGetName()

virtual ConstString lldb_private::TypeSystem::DeclContextGetName ( void *  opaque_decl_ctx)
pure virtual

◆ DeclContextGetScopeQualifiedName()

virtual ConstString lldb_private::TypeSystem::DeclContextGetScopeQualifiedName ( void *  opaque_decl_ctx)
pure virtual

◆ DeclContextIsClassMethod()

virtual bool lldb_private::TypeSystem::DeclContextIsClassMethod ( void *  opaque_decl_ctx,
lldb::LanguageType language_ptr,
bool *  is_instance_method_ptr,
ConstString language_object_name_ptr 
)
pure virtual

◆ DeclContextIsContainedInLookup()

virtual bool lldb_private::TypeSystem::DeclContextIsContainedInLookup ( void *  opaque_decl_ctx,
void *  other_opaque_decl_ctx 
)
pure virtual

◆ DeclContextIsStructUnionOrClass()

virtual bool lldb_private::TypeSystem::DeclContextIsStructUnionOrClass ( void *  opaque_decl_ctx)
pure virtual

◆ DeclGetDeclContext()

CompilerDeclContext TypeSystem::DeclGetDeclContext ( void *  opaque_decl)
virtual

Reimplemented in lldb_private::ClangASTContext.

Definition at line 135 of file TypeSystem.cpp.

Referenced by lldb_private::CompilerDecl::GetDeclContext(), and SetSymbolFile().

◆ DeclGetFunctionArgumentType()

CompilerType TypeSystem::DeclGetFunctionArgumentType ( void *  opaque_decl,
size_t  arg_idx 
)
virtual

◆ DeclGetFunctionNumArguments()

size_t TypeSystem::DeclGetFunctionNumArguments ( void *  opaque_decl)
virtual

◆ DeclGetFunctionReturnType()

CompilerType TypeSystem::DeclGetFunctionReturnType ( void *  opaque_decl)
virtual

◆ DeclGetMangledName()

ConstString TypeSystem::DeclGetMangledName ( void *  opaque_decl)
virtual

Reimplemented in lldb_private::ClangASTContext.

Definition at line 131 of file TypeSystem.cpp.

Referenced by lldb_private::CompilerDecl::GetMangledName(), and SetSymbolFile().

◆ DeclGetName()

virtual ConstString lldb_private::TypeSystem::DeclGetName ( void *  opaque_decl)
pure virtual

◆ dump()

virtual LLVM_DUMP_METHOD void lldb_private::TypeSystem::dump ( lldb::opaque_compiler_type_t  type) const
pure virtual

Convenience LLVM-style dump method for use in the debugger only.

Implemented in lldb_private::ClangASTContext.

Referenced by lldb_private::CompilerType::dump(), and ForEachEnumerator().

◆ DumpSummary()

virtual void lldb_private::TypeSystem::DumpSummary ( lldb::opaque_compiler_type_t  type,
ExecutionContext exe_ctx,
Stream s,
const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size 
)
pure virtual

◆ DumpTypeDescription() [1/2]

virtual void lldb_private::TypeSystem::DumpTypeDescription ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ DumpTypeDescription() [2/2]

virtual void lldb_private::TypeSystem::DumpTypeDescription ( lldb::opaque_compiler_type_t  type,
Stream s 
)
pure virtual

◆ DumpTypeValue()

virtual bool lldb_private::TypeSystem::DumpTypeValue ( lldb::opaque_compiler_type_t  type,
Stream s,
lldb::Format  format,
const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size,
uint32_t  bitfield_bit_size,
uint32_t  bitfield_bit_offset,
ExecutionContextScope exe_scope 
)
pure virtual

◆ DumpValue()

virtual void lldb_private::TypeSystem::DumpValue ( lldb::opaque_compiler_type_t  type,
ExecutionContext exe_ctx,
Stream s,
lldb::Format  format,
const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size,
uint32_t  bitfield_bit_size,
uint32_t  bitfield_bit_offset,
bool  show_types,
bool  show_summary,
bool  verbose,
uint32_t  depth 
)
pure virtual

◆ Finalize()

virtual void lldb_private::TypeSystem::Finalize ( )
inlinevirtual

Reimplemented in lldb_private::ClangASTContext.

Definition at line 86 of file TypeSystem.h.

Referenced by lldb_private::TypeSystemMap::Clear().

◆ ForEachEnumerator()

virtual void lldb_private::TypeSystem::ForEachEnumerator ( lldb::opaque_compiler_type_t  type,
std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const &  callback 
)
inlinevirtual

◆ GetArrayElementType()

virtual CompilerType lldb_private::TypeSystem::GetArrayElementType ( lldb::opaque_compiler_type_t  type,
uint64_t *  stride 
)
pure virtual

◆ GetArrayType()

CompilerType TypeSystem::GetArrayType ( lldb::opaque_compiler_type_t  type,
uint64_t  size 
)
virtual

Reimplemented in lldb_private::ClangASTContext.

Definition at line 60 of file TypeSystem.cpp.

Referenced by lldb_private::CompilerType::GetArrayType(), and IsEnumerationType().

◆ GetBasicTypeEnumeration()

virtual lldb::BasicType lldb_private::TypeSystem::GetBasicTypeEnumeration ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetBasicTypeFromAST()

virtual CompilerType lldb_private::TypeSystem::GetBasicTypeFromAST ( lldb::BasicType  basic_type)
pure virtual

◆ GetBitSize()

virtual llvm::Optional<uint64_t> lldb_private::TypeSystem::GetBitSize ( lldb::opaque_compiler_type_t  type,
ExecutionContextScope exe_scope 
)
pure virtual

◆ GetBuiltinTypeByName()

CompilerType TypeSystem::GetBuiltinTypeByName ( ConstString  name)
virtual

◆ GetBuiltinTypeForEncodingAndBitSize()

virtual CompilerType lldb_private::TypeSystem::GetBuiltinTypeForEncodingAndBitSize ( lldb::Encoding  encoding,
size_t  bit_size 
)
pure virtual

◆ GetCanonicalType()

virtual CompilerType lldb_private::TypeSystem::GetCanonicalType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetChildCompilerTypeAtIndex()

virtual CompilerType lldb_private::TypeSystem::GetChildCompilerTypeAtIndex ( lldb::opaque_compiler_type_t  type,
ExecutionContext exe_ctx,
size_t  idx,
bool  transparent_pointers,
bool  omit_empty_base_classes,
bool  ignore_array_bounds,
std::string &  child_name,
uint32_t child_byte_size,
int32_t &  child_byte_offset,
uint32_t child_bitfield_bit_size,
uint32_t child_bitfield_bit_offset,
bool &  child_is_base_class,
bool &  child_is_deref_of_parent,
ValueObject valobj,
uint64_t &  language_flags 
)
pure virtual

◆ GetCompleteType()

virtual bool lldb_private::TypeSystem::GetCompleteType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetDirectBaseClassAtIndex()

virtual CompilerType lldb_private::TypeSystem::GetDirectBaseClassAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx,
uint32_t bit_offset_ptr 
)
pure virtual

◆ GetDWARFParser()

virtual DWARFASTParser* lldb_private::TypeSystem::GetDWARFParser ( )
inlinevirtual

◆ GetEncoding()

virtual lldb::Encoding lldb_private::TypeSystem::GetEncoding ( lldb::opaque_compiler_type_t  type,
uint64_t &  count 
)
pure virtual

◆ GetFieldAtIndex()

virtual CompilerType lldb_private::TypeSystem::GetFieldAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx,
std::string &  name,
uint64_t *  bit_offset_ptr,
uint32_t bitfield_bit_size_ptr,
bool *  is_bitfield_ptr 
)
pure virtual

◆ GetFormat()

virtual lldb::Format lldb_private::TypeSystem::GetFormat ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetFullyUnqualifiedType()

virtual CompilerType lldb_private::TypeSystem::GetFullyUnqualifiedType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetFunctionArgumentAtIndex()

virtual CompilerType lldb_private::TypeSystem::GetFunctionArgumentAtIndex ( lldb::opaque_compiler_type_t  type,
const size_t  index 
)
pure virtual

◆ GetFunctionArgumentCount()

virtual int lldb_private::TypeSystem::GetFunctionArgumentCount ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetFunctionArgumentTypeAtIndex()

virtual CompilerType lldb_private::TypeSystem::GetFunctionArgumentTypeAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
pure virtual

◆ GetFunctionCaller()

virtual FunctionCaller* lldb_private::TypeSystem::GetFunctionCaller ( const CompilerType return_type,
const Address function_address,
const ValueList arg_value_list,
const char *  name 
)
inlinevirtual

◆ GetFunctionReturnType()

virtual CompilerType lldb_private::TypeSystem::GetFunctionReturnType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetIndexOfChildMemberWithName()

virtual size_t lldb_private::TypeSystem::GetIndexOfChildMemberWithName ( lldb::opaque_compiler_type_t  type,
const char *  name,
bool  omit_empty_base_classes,
std::vector< uint32_t > &  child_indexes 
)
pure virtual

◆ GetIndexOfChildWithName()

virtual uint32_t lldb_private::TypeSystem::GetIndexOfChildWithName ( lldb::opaque_compiler_type_t  type,
const char *  name,
bool  omit_empty_base_classes 
)
pure virtual

◆ GetIntegralTemplateArgument()

llvm::Optional< CompilerType::IntegralTemplateArgument > TypeSystem::GetIntegralTemplateArgument ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
virtual

◆ getKind()

LLVMCastKind lldb_private::TypeSystem::getKind ( ) const
inline

◆ GetLValueReferenceType()

CompilerType TypeSystem::GetLValueReferenceType ( lldb::opaque_compiler_type_t  type)
virtual

◆ GetMemberFunctionAtIndex()

virtual TypeMemberFunctionImpl lldb_private::TypeSystem::GetMemberFunctionAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
pure virtual

◆ GetMinimumLanguage()

virtual lldb::LanguageType lldb_private::TypeSystem::GetMinimumLanguage ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetNonReferenceType()

virtual CompilerType lldb_private::TypeSystem::GetNonReferenceType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetNumberOfFunctionArguments()

virtual size_t lldb_private::TypeSystem::GetNumberOfFunctionArguments ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetNumChildren()

virtual uint32_t lldb_private::TypeSystem::GetNumChildren ( lldb::opaque_compiler_type_t  type,
bool  omit_empty_base_classes,
const ExecutionContext exe_ctx 
)
pure virtual

◆ GetNumDirectBaseClasses()

virtual uint32_t lldb_private::TypeSystem::GetNumDirectBaseClasses ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetNumFields()

virtual uint32_t lldb_private::TypeSystem::GetNumFields ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetNumMemberFunctions()

virtual size_t lldb_private::TypeSystem::GetNumMemberFunctions ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetNumTemplateArguments()

size_t TypeSystem::GetNumTemplateArguments ( lldb::opaque_compiler_type_t  type)
virtual

◆ GetNumVirtualBaseClasses()

virtual uint32_t lldb_private::TypeSystem::GetNumVirtualBaseClasses ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetPDBParser()

virtual PDBASTParser* lldb_private::TypeSystem::GetPDBParser ( )
inlinevirtual

Reimplemented in lldb_private::ClangASTContext.

Definition at line 89 of file TypeSystem.h.

◆ GetPersistentExpressionState()

virtual PersistentExpressionState* lldb_private::TypeSystem::GetPersistentExpressionState ( )
inlinevirtual

◆ GetPointeeType()

virtual CompilerType lldb_private::TypeSystem::GetPointeeType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetPointerByteSize()

virtual uint32_t lldb_private::TypeSystem::GetPointerByteSize ( )
pure virtual

◆ GetPointerType()

virtual CompilerType lldb_private::TypeSystem::GetPointerType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetRValueReferenceType()

CompilerType TypeSystem::GetRValueReferenceType ( lldb::opaque_compiler_type_t  type)
virtual

◆ GetSymbolFile()

virtual SymbolFile* lldb_private::TypeSystem::GetSymbolFile ( ) const
inlinevirtual

◆ GetTemplateArgumentKind()

TemplateArgumentKind TypeSystem::GetTemplateArgumentKind ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
virtual

◆ GetTypeBitAlign()

virtual size_t lldb_private::TypeSystem::GetTypeBitAlign ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetTypeClass()

virtual lldb::TypeClass lldb_private::TypeSystem::GetTypeClass ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetTypedefedType()

virtual CompilerType lldb_private::TypeSystem::GetTypedefedType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetTypeForFormatters()

CompilerType TypeSystem::GetTypeForFormatters ( void *  type)
virtual

◆ GetTypeInfo()

virtual uint32_t lldb_private::TypeSystem::GetTypeInfo ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_or_element_compiler_type 
)
pure virtual

◆ GetTypeName()

virtual ConstString lldb_private::TypeSystem::GetTypeName ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetTypeQualifiers()

virtual unsigned lldb_private::TypeSystem::GetTypeQualifiers ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ GetTypeTemplateArgument()

CompilerType TypeSystem::GetTypeTemplateArgument ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
virtual

◆ GetUserExpression()

virtual UserExpression* lldb_private::TypeSystem::GetUserExpression ( llvm::StringRef  expr,
llvm::StringRef  prefix,
lldb::LanguageType  language,
Expression::ResultType  desired_type,
const EvaluateExpressionOptions options,
ValueObject ctx_obj 
)
inlinevirtual

◆ GetUtilityFunction()

virtual UtilityFunction* lldb_private::TypeSystem::GetUtilityFunction ( const char *  text,
const char *  name 
)
inlinevirtual

◆ GetVirtualBaseClassAtIndex()

virtual CompilerType lldb_private::TypeSystem::GetVirtualBaseClassAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx,
uint32_t bit_offset_ptr 
)
pure virtual

◆ IsAggregateType()

virtual bool lldb_private::TypeSystem::IsAggregateType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsAnonymousType()

bool TypeSystem::IsAnonymousType ( lldb::opaque_compiler_type_t  type)
virtual

Reimplemented in lldb_private::ClangASTContext.

Definition at line 56 of file TypeSystem.cpp.

Referenced by lldb_private::CompilerType::IsAnonymousType(), and SetSymbolFile().

◆ IsArrayType()

virtual bool lldb_private::TypeSystem::IsArrayType ( lldb::opaque_compiler_type_t  type,
CompilerType element_type,
uint64_t *  size,
bool *  is_incomplete 
)
pure virtual

◆ IsBeingDefined()

virtual bool lldb_private::TypeSystem::IsBeingDefined ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsBlockPointerType()

virtual bool lldb_private::TypeSystem::IsBlockPointerType ( lldb::opaque_compiler_type_t  type,
CompilerType function_pointer_type_ptr 
)
pure virtual

◆ IsCharType()

virtual bool lldb_private::TypeSystem::IsCharType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsCompleteType()

virtual bool lldb_private::TypeSystem::IsCompleteType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsConst()

virtual bool lldb_private::TypeSystem::IsConst ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsCStringType()

virtual bool lldb_private::TypeSystem::IsCStringType ( lldb::opaque_compiler_type_t  type,
uint32_t length 
)
pure virtual

◆ IsDefined()

virtual bool lldb_private::TypeSystem::IsDefined ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsEnumerationType()

virtual bool lldb_private::TypeSystem::IsEnumerationType ( lldb::opaque_compiler_type_t  type,
bool &  is_signed 
)
inlinevirtual

◆ IsFloatingPointType()

virtual bool lldb_private::TypeSystem::IsFloatingPointType ( lldb::opaque_compiler_type_t  type,
uint32_t count,
bool &  is_complex 
)
pure virtual

◆ IsFunctionPointerType()

virtual bool lldb_private::TypeSystem::IsFunctionPointerType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsFunctionType()

virtual bool lldb_private::TypeSystem::IsFunctionType ( lldb::opaque_compiler_type_t  type,
bool *  is_variadic_ptr 
)
pure virtual

◆ IsHomogeneousAggregate()

virtual uint32_t lldb_private::TypeSystem::IsHomogeneousAggregate ( lldb::opaque_compiler_type_t  type,
CompilerType base_type_ptr 
)
pure virtual

◆ IsIntegerType()

virtual bool lldb_private::TypeSystem::IsIntegerType ( lldb::opaque_compiler_type_t  type,
bool &  is_signed 
)
pure virtual

◆ IsMeaninglessWithoutDynamicResolution()

bool TypeSystem::IsMeaninglessWithoutDynamicResolution ( void *  type)
virtual

◆ IsPointerOrReferenceType()

virtual bool lldb_private::TypeSystem::IsPointerOrReferenceType ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_type 
)
pure virtual

◆ IsPointerType()

virtual bool lldb_private::TypeSystem::IsPointerType ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_type 
)
pure virtual

◆ IsPolymorphicClass()

virtual bool lldb_private::TypeSystem::IsPolymorphicClass ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsPossibleDynamicType()

virtual bool lldb_private::TypeSystem::IsPossibleDynamicType ( lldb::opaque_compiler_type_t  type,
CompilerType target_type,
bool  check_cplusplus,
bool  check_objc 
)
pure virtual

◆ IsReferenceType()

virtual bool lldb_private::TypeSystem::IsReferenceType ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_type,
bool *  is_rvalue 
)
pure virtual

◆ IsRuntimeGeneratedType()

virtual bool lldb_private::TypeSystem::IsRuntimeGeneratedType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsScalarType()

virtual bool lldb_private::TypeSystem::IsScalarType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsTypedefType()

virtual bool lldb_private::TypeSystem::IsTypedefType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ IsVectorType()

virtual bool lldb_private::TypeSystem::IsVectorType ( lldb::opaque_compiler_type_t  type,
CompilerType element_type,
uint64_t *  size 
)
pure virtual

◆ IsVoidType()

virtual bool lldb_private::TypeSystem::IsVoidType ( lldb::opaque_compiler_type_t  type)
pure virtual

◆ SetSymbolFile()

virtual void lldb_private::TypeSystem::SetSymbolFile ( SymbolFile sym_file)
inlinevirtual

◆ ShouldPrintAsOneLiner()

LazyBool TypeSystem::ShouldPrintAsOneLiner ( void *  type,
ValueObject valobj 
)
virtual

◆ ShouldTreatScalarValueAsAddress()

virtual bool lldb_private::TypeSystem::ShouldTreatScalarValueAsAddress ( lldb::opaque_compiler_type_t  type)
inlinevirtual

◆ SupportsLanguage()

virtual bool lldb_private::TypeSystem::SupportsLanguage ( lldb::LanguageType  language)
pure virtual

Member Data Documentation

◆ m_kind

const LLVMCastKind lldb_private::TypeSystem::m_kind
protected

Definition at line 475 of file TypeSystem.h.

Referenced by getKind().

◆ m_sym_file

SymbolFile* lldb_private::TypeSystem::m_sym_file
protected

Definition at line 476 of file TypeSystem.h.

Referenced by GetSymbolFile(), and SetSymbolFile().


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