LLDB  mainline
Classes | Public Member Functions | Static Public Member Functions | List of all members
lldb_private::CompilerType Class Reference

#include <CompilerType.h>

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

Classes

struct  IntegralTemplateArgument
 

Public Member Functions

 CompilerType (TypeSystem *type_system, lldb::opaque_compiler_type_t type)
 
 CompilerType (clang::ASTContext *ast_context, clang::QualType qual_type)
 
 CompilerType (const CompilerType &rhs)
 
 CompilerType ()
 
 ~CompilerType ()
 
const CompilerTypeoperator= (const CompilerType &rhs)
 
 operator bool () const
 
bool operator< (const CompilerType &rhs) const
 
bool IsValid () const
 
bool IsArrayType (CompilerType *element_type, uint64_t *size, bool *is_incomplete) const
 
bool IsVectorType (CompilerType *element_type, uint64_t *size) const
 
bool IsArrayOfScalarType () const
 
bool IsAggregateType () const
 
bool IsAnonymousType () const
 
bool IsBeingDefined () const
 
bool IsCharType () const
 
bool IsCompleteType () const
 
bool IsConst () const
 
bool IsCStringType (uint32_t &length) const
 
bool IsDefined () const
 
bool IsFloatingPointType (uint32_t &count, bool &is_complex) const
 
bool IsFunctionType (bool *is_variadic_ptr=nullptr) const
 
uint32_t IsHomogeneousAggregate (CompilerType *base_type_ptr) const
 
size_t GetNumberOfFunctionArguments () const
 
CompilerType GetFunctionArgumentAtIndex (const size_t index) const
 
bool IsVariadicFunctionType () const
 
bool IsFunctionPointerType () const
 
bool IsBlockPointerType (CompilerType *function_pointer_type_ptr) const
 
bool IsIntegerType (bool &is_signed) const
 
bool IsEnumerationType (bool &is_signed) const
 
bool IsIntegerOrEnumerationType (bool &is_signed) const
 
bool IsPolymorphicClass () const
 
bool IsPossibleCPlusPlusDynamicType (CompilerType *target_type=nullptr) const
 
bool IsPossibleDynamicType (CompilerType *target_type, bool check_cplusplus, bool check_objc) const
 
bool IsPointerToScalarType () const
 
bool IsRuntimeGeneratedType () const
 
bool IsPointerType (CompilerType *pointee_type=nullptr) const
 
bool IsPointerOrReferenceType (CompilerType *pointee_type=nullptr) const
 
bool IsReferenceType (CompilerType *pointee_type=nullptr, bool *is_rvalue=nullptr) const
 
bool ShouldTreatScalarValueAsAddress () const
 
bool IsScalarType () const
 
bool IsTypedefType () const
 
bool IsVoidType () const
 
bool GetCompleteType () const
 
size_t GetPointerByteSize () const
 
TypeSystemGetTypeSystem () const
 
ConstString GetConstQualifiedTypeName () const
 
ConstString GetConstTypeName () const
 
ConstString GetTypeName () const
 
ConstString GetDisplayTypeName () const
 
uint32_t GetTypeInfo (CompilerType *pointee_or_element_compiler_type=nullptr) const
 
lldb::LanguageType GetMinimumLanguage ()
 
lldb::opaque_compiler_type_t GetOpaqueQualType () const
 
lldb::TypeClass GetTypeClass () const
 
void SetCompilerType (TypeSystem *type_system, lldb::opaque_compiler_type_t type)
 
void SetCompilerType (clang::ASTContext *ast, clang::QualType qual_type)
 
unsigned GetTypeQualifiers () const
 
CompilerType GetArrayElementType (uint64_t *stride=nullptr) const
 
CompilerType GetArrayType (uint64_t size) const
 
CompilerType GetCanonicalType () const
 
CompilerType GetFullyUnqualifiedType () const
 
int GetFunctionArgumentCount () const
 
CompilerType GetFunctionArgumentTypeAtIndex (size_t idx) const
 
CompilerType GetFunctionReturnType () const
 
size_t GetNumMemberFunctions () const
 
TypeMemberFunctionImpl GetMemberFunctionAtIndex (size_t idx)
 
CompilerType GetNonReferenceType () const
 
CompilerType GetPointeeType () const
 
CompilerType GetPointerType () const
 
CompilerType GetLValueReferenceType () const
 
CompilerType GetRValueReferenceType () const
 
CompilerType AddConstModifier () const
 
CompilerType AddVolatileModifier () const
 
CompilerType AddRestrictModifier () const
 
CompilerType CreateTypedef (const char *name, const CompilerDeclContext &decl_ctx) const
 
CompilerType GetTypedefedType () const
 
CompilerType GetBasicTypeFromAST (lldb::BasicType basic_type) const
 
llvm::Optional< uint64_t > GetByteSize (ExecutionContextScope *exe_scope) const
 Return the size of the type in bytes. More...
 
llvm::Optional< uint64_t > GetBitSize (ExecutionContextScope *exe_scope) const
 Return the size of the type in bits. More...
 
lldb::Encoding GetEncoding (uint64_t &count) const
 
lldb::Format GetFormat () const
 
size_t GetTypeBitAlign () const
 
uint32_t GetNumChildren (bool omit_empty_base_classes, const ExecutionContext *exe_ctx) const
 
lldb::BasicType GetBasicTypeEnumeration () const
 
void ForEachEnumerator (std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const &callback) const
 
uint32_t GetNumFields () const
 
CompilerType GetFieldAtIndex (size_t idx, std::string &name, uint64_t *bit_offset_ptr, uint32_t *bitfield_bit_size_ptr, bool *is_bitfield_ptr) const
 
uint32_t GetNumDirectBaseClasses () const
 
uint32_t GetNumVirtualBaseClasses () const
 
CompilerType GetDirectBaseClassAtIndex (size_t idx, uint32_t *bit_offset_ptr) const
 
CompilerType GetVirtualBaseClassAtIndex (size_t idx, uint32_t *bit_offset_ptr) const
 
uint32_t GetIndexOfFieldWithName (const char *name, CompilerType *field_compiler_type=nullptr, uint64_t *bit_offset_ptr=nullptr, uint32_t *bitfield_bit_size_ptr=nullptr, bool *is_bitfield_ptr=nullptr) const
 
CompilerType GetChildCompilerTypeAtIndex (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) const
 
uint32_t GetIndexOfChildWithName (const char *name, bool omit_empty_base_classes) const
 
size_t GetIndexOfChildMemberWithName (const char *name, bool omit_empty_base_classes, std::vector< uint32_t > &child_indexes) const
 
size_t GetNumTemplateArguments () const
 
lldb::TemplateArgumentKind GetTemplateArgumentKind (size_t idx) const
 
CompilerType GetTypeTemplateArgument (size_t idx) const
 
llvm::Optional< IntegralTemplateArgumentGetIntegralTemplateArgument (size_t idx) const
 
CompilerType GetTypeForFormatters () const
 
LazyBool ShouldPrintAsOneLiner (ValueObject *valobj) const
 
bool IsMeaninglessWithoutDynamicResolution () const
 
size_t ConvertStringToFloatValue (const char *s, uint8_t *dst, size_t dst_size) const
 
LLVM_DUMP_METHOD void dump () const
 Convenience LLVM-style dump method for use in the debugger only. More...
 
void DumpValue (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)
 
bool DumpTypeValue (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)
 
void DumpSummary (ExecutionContext *exe_ctx, Stream *s, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size)
 
void DumpTypeDescription () const
 
void DumpTypeDescription (Stream *s) const
 
bool GetValueAsScalar (const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, Scalar &value) const
 
bool SetValueFromScalar (const Scalar &value, Stream &strm)
 
bool ReadFromMemory (ExecutionContext *exe_ctx, lldb::addr_t addr, AddressType address_type, DataExtractor &data)
 
bool WriteToMemory (ExecutionContext *exe_ctx, lldb::addr_t addr, AddressType address_type, StreamString &new_value)
 
void Clear ()
 

Static Public Member Functions

static lldb::BasicType GetBasicTypeEnumeration (ConstString name)
 

Detailed Description

Definition at line 31 of file CompilerType.h.

Constructor & Destructor Documentation

◆ CompilerType() [1/4]

CompilerType::CompilerType ( TypeSystem type_system,
lldb::opaque_compiler_type_t  type 
)

Definition at line 31 of file CompilerType.cpp.

◆ CompilerType() [2/4]

CompilerType::CompilerType ( clang::ASTContext *  ast_context,
clang::QualType  qual_type 
)

Definition at line 35 of file CompilerType.cpp.

◆ CompilerType() [3/4]

lldb_private::CompilerType::CompilerType ( const CompilerType rhs)
inline

Definition at line 37 of file CompilerType.h.

◆ CompilerType() [4/4]

lldb_private::CompilerType::CompilerType ( )
inline

◆ ~CompilerType()

CompilerType::~CompilerType ( )

Definition at line 42 of file CompilerType.cpp.

Referenced by CompilerType().

Member Function Documentation

◆ AddConstModifier()

CompilerType CompilerType::AddConstModifier ( ) const

◆ AddRestrictModifier()

CompilerType CompilerType::AddRestrictModifier ( ) const

◆ AddVolatileModifier()

CompilerType CompilerType::AddVolatileModifier ( ) const

◆ Clear()

void lldb_private::CompilerType::Clear ( )
inline

◆ ConvertStringToFloatValue()

size_t CompilerType::ConvertStringToFloatValue ( const char *  s,
uint8_t *  dst,
size_t  dst_size 
) const

◆ CreateTypedef()

CompilerType CompilerType::CreateTypedef ( const char *  name,
const CompilerDeclContext decl_ctx 
) const

◆ dump()

LLVM_DUMP_METHOD void CompilerType::dump ( ) const

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

Don't call this function from actual code.

Definition at line 790 of file CompilerType.cpp.

References lldb_private::TypeSystem::dump(), and IsValid().

Referenced by GetOpaqueQualType().

◆ DumpSummary()

void CompilerType::DumpSummary ( ExecutionContext exe_ctx,
Stream s,
const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size 
)

Definition at line 769 of file CompilerType.cpp.

References lldb_private::TypeSystem::DumpSummary(), and IsValid().

Referenced by GetOpaqueQualType().

◆ DumpTypeDescription() [1/2]

void CompilerType::DumpTypeDescription ( ) const

◆ DumpTypeDescription() [2/2]

void CompilerType::DumpTypeDescription ( Stream s) const

Definition at line 783 of file CompilerType.cpp.

References lldb_private::TypeSystem::DumpTypeDescription(), and IsValid().

◆ DumpTypeValue()

bool CompilerType::DumpTypeValue ( 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 
)

◆ DumpValue()

void CompilerType::DumpValue ( 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 
)

◆ ForEachEnumerator()

void CompilerType::ForEachEnumerator ( std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const &  callback) const

◆ GetArrayElementType()

CompilerType CompilerType::GetArrayElementType ( uint64_t *  stride = nullptr) const

◆ GetArrayType()

CompilerType CompilerType::GetArrayType ( uint64_t  size) const

Definition at line 357 of file CompilerType.cpp.

References CompilerType(), lldb_private::TypeSystem::GetArrayType(), and IsValid().

Referenced by GetOpaqueQualType().

◆ GetBasicTypeEnumeration() [1/2]

lldb::BasicType CompilerType::GetBasicTypeEnumeration ( ) const

◆ GetBasicTypeEnumeration() [2/2]

static lldb::BasicType lldb_private::CompilerType::GetBasicTypeEnumeration ( ConstString  name)
static

◆ GetBasicTypeFromAST()

CompilerType CompilerType::GetBasicTypeFromAST ( lldb::BasicType  basic_type) const

◆ GetBitSize()

llvm::Optional< uint64_t > CompilerType::GetBitSize ( ExecutionContextScope exe_scope) const

◆ GetByteSize()

llvm::Optional< uint64_t > CompilerType::GetByteSize ( ExecutionContextScope exe_scope) const

Return the size of the type in bytes.

Definition at line 500 of file CompilerType.cpp.

References GetBitSize().

Referenced by CalculateNumChildren(), CommandObjectMemoryRead::DoExecute(), CommandObjectWatchpointSetVariable::DoExecute(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::Type::GetByteSize(), lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::GetChildAtIndex(), lldb_private::ClangASTContext::GetChildCompilerTypeAtIndex(), lldb_private::ClassDescriptorV2::GetInstanceSize(), GetOpaqueQualType(), lldb_private::ValueObject::GetPointeeData(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABISysV_arm64::GetReturnValueObjectImpl(), ABIMacOSX_arm64::GetReturnValueObjectImpl(), ABISysV_s390x::GetReturnValueObjectSimple(), ABISysV_ppc::GetReturnValueObjectSimple(), ABISysV_x86_64::GetReturnValueObjectSimple(), ABISysV_i386::GetReturnValueObjectSimple(), lldb_private::ValueObject::GetSyntheticBase(), lldb_private::ValueObject::GetSyntheticChildAtOffset(), lldb_private::Value::GetValueAsData(), GetValueAsScalar(), LoadValueFromConsecutiveGPRRegisters(), DWARFASTParserClang::ParseTypeFromDWARF(), lldb_private::ProcessStructReader::ProcessStructReader(), ReadFromMemory(), lldb_private::Materializer::Entity::SetSizeAndAlignmentFromType(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::Update(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), WriteToMemory(), and IRForTarget::~IRForTarget().

◆ GetCanonicalType()

CompilerType CompilerType::GetCanonicalType ( ) const

◆ GetChildCompilerTypeAtIndex()

CompilerType CompilerType::GetChildCompilerTypeAtIndex ( 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 
) const

◆ GetCompleteType()

bool CompilerType::GetCompleteType ( ) const

◆ GetConstQualifiedTypeName()

ConstString CompilerType::GetConstQualifiedTypeName ( ) const

◆ GetConstTypeName()

ConstString CompilerType::GetConstTypeName ( ) const

◆ GetDirectBaseClassAtIndex()

CompilerType CompilerType::GetDirectBaseClassAtIndex ( size_t  idx,
uint32_t bit_offset_ptr 
) const

◆ GetDisplayTypeName()

ConstString CompilerType::GetDisplayTypeName ( ) const

◆ GetEncoding()

lldb::Encoding CompilerType::GetEncoding ( uint64_t &  count) const

◆ GetFieldAtIndex()

CompilerType CompilerType::GetFieldAtIndex ( size_t  idx,
std::string &  name,
uint64_t *  bit_offset_ptr,
uint32_t bitfield_bit_size_ptr,
bool *  is_bitfield_ptr 
) const

◆ GetFormat()

lldb::Format CompilerType::GetFormat ( ) const

◆ GetFullyUnqualifiedType()

CompilerType CompilerType::GetFullyUnqualifiedType ( ) const

◆ GetFunctionArgumentAtIndex()

CompilerType CompilerType::GetFunctionArgumentAtIndex ( const size_t  index) const

◆ GetFunctionArgumentCount()

int CompilerType::GetFunctionArgumentCount ( ) const

◆ GetFunctionArgumentTypeAtIndex()

CompilerType CompilerType::GetFunctionArgumentTypeAtIndex ( size_t  idx) const

◆ GetFunctionReturnType()

CompilerType CompilerType::GetFunctionReturnType ( ) const

◆ GetIndexOfChildMemberWithName()

size_t CompilerType::GetIndexOfChildMemberWithName ( const char *  name,
bool  omit_empty_base_classes,
std::vector< uint32_t > &  child_indexes 
) const

◆ GetIndexOfChildWithName()

uint32_t CompilerType::GetIndexOfChildWithName ( const char *  name,
bool  omit_empty_base_classes 
) const

◆ GetIndexOfFieldWithName()

uint32_t CompilerType::GetIndexOfFieldWithName ( const char *  name,
CompilerType field_compiler_type = nullptr,
uint64_t *  bit_offset_ptr = nullptr,
uint32_t bitfield_bit_size_ptr = nullptr,
bool *  is_bitfield_ptr = nullptr 
) const

Definition at line 594 of file CompilerType.cpp.

References GetFieldAtIndex(), GetNumFields(), and UINT32_MAX.

Referenced by GetOpaqueQualType().

◆ GetIntegralTemplateArgument()

llvm::Optional< CompilerType::IntegralTemplateArgument > CompilerType::GetIntegralTemplateArgument ( size_t  idx) const

◆ GetLValueReferenceType()

CompilerType CompilerType::GetLValueReferenceType ( ) const

◆ GetMemberFunctionAtIndex()

TypeMemberFunctionImpl CompilerType::GetMemberFunctionAtIndex ( size_t  idx)

Definition at line 404 of file CompilerType.cpp.

References lldb_private::TypeSystem::GetMemberFunctionAtIndex(), and IsValid().

Referenced by GetOpaqueQualType().

◆ GetMinimumLanguage()

lldb::LanguageType CompilerType::GetMinimumLanguage ( )

◆ GetNonReferenceType()

CompilerType CompilerType::GetNonReferenceType ( ) const

◆ GetNumberOfFunctionArguments()

size_t CompilerType::GetNumberOfFunctionArguments ( ) const

◆ GetNumChildren()

uint32_t CompilerType::GetNumChildren ( bool  omit_empty_base_classes,
const ExecutionContext exe_ctx 
) const

◆ GetNumDirectBaseClasses()

uint32_t CompilerType::GetNumDirectBaseClasses ( ) const

◆ GetNumFields()

uint32_t CompilerType::GetNumFields ( ) const

◆ GetNumMemberFunctions()

size_t CompilerType::GetNumMemberFunctions ( ) const

◆ GetNumTemplateArguments()

size_t CompilerType::GetNumTemplateArguments ( ) const

◆ GetNumVirtualBaseClasses()

uint32_t CompilerType::GetNumVirtualBaseClasses ( ) const

◆ GetOpaqueQualType()

lldb::opaque_compiler_type_t lldb_private::CompilerType::GetOpaqueQualType ( ) const
inline

Definition at line 165 of file CompilerType.h.

References AddConstModifier(), AddRestrictModifier(), AddVolatileModifier(), ConvertStringToFloatValue(), CreateTypedef(), dump(), DumpSummary(), DumpTypeDescription(), DumpTypeValue(), DumpValue(), ForEachEnumerator(), GetArrayElementType(), GetArrayType(), GetBasicTypeEnumeration(), GetBasicTypeFromAST(), GetBitSize(), GetByteSize(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetDirectBaseClassAtIndex(), GetEncoding(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIndexOfFieldWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), GetMemberFunctionAtIndex(), GetNonReferenceType(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), GetPointeeType(), GetPointerType(), GetRValueReferenceType(), GetTemplateArgumentKind(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), GetTypeForFormatters(), GetTypeQualifiers(), GetTypeTemplateArgument(), GetValueAsScalar(), GetVirtualBaseClassAtIndex(), IsMeaninglessWithoutDynamicResolution(), ReadFromMemory(), SetCompilerType(), SetValueFromScalar(), ShouldPrintAsOneLiner(), and WriteToMemory().

Referenced by lldb_private::ClangASTContext::AddEnumerationValueToEnumerationType(), lldb_private::ClangASTContext::AreTypesSame(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren(), lldb_private::npdb::UdtRecordCompleter::complete(), lldb_private::npdb::PdbAstBuilder::CompleteTagDecl(), lldb_private::npdb::SymbolFileNativePDB::CompleteType(), SymbolFileDWARF::CompleteType(), lldb_private::ClangASTImporter::CompleteType(), DWARFASTParserClang::CompleteTypeFromDWARF(), PDBASTParser::CompleteTypeFromPDB(), lldb_private::ClangASTImporter::CopyType(), lldb_private::ClangASTContext::CreateBlockPointerType(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::FormatManager::DisableAllCategories(), CommandObjectMemoryRead::DoExecute(), lldb_private::Type::Dump(), ExportAllDeclaredTypes(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), PDBASTParser::FindNamespaceDecl(), lldb_private::npdb::PdbAstBuilder::GetBasicType(), lldb_private::ClangASTSource::GetCompleteObjCInterface(), lldb_private::npdb::PdbAstBuilder::GetOrCreateFunctionDecl(), lldb_private::ClangUtil::GetQualType(), lldb_private::ObjCLanguageRuntime::GetTypeBitSize(), SymbolFileDWARF::HasForwardDeclForClangType(), lldb_private::ClangUtil::IsClangType(), lldb_private::operator==(), DWARFASTParserClang::ParseChildMembers(), DWARFASTParserClang::ParseTypeFromDWARF(), lldb_private::ClangExpressionDeclMap::ResolveUnknownTypes(), and lldb_private::npdb::UdtRecordCompleter::UdtRecordCompleter().

◆ GetPointeeType()

CompilerType CompilerType::GetPointeeType ( ) const

◆ GetPointerByteSize()

size_t CompilerType::GetPointerByteSize ( ) const

◆ GetPointerType()

CompilerType CompilerType::GetPointerType ( ) const

Definition at line 424 of file CompilerType.cpp.

References CompilerType(), lldb_private::TypeSystem::GetPointerType(), and IsValid().

Referenced by lldb_private::ValueObject::AddressOf(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren(), lldb_private::ValueObject::ClearDynamicTypeInformation(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::ValueObject::CreateValueObjectFromAddress(), lldb_private::AppleGetQueuesHandler::Detach(), lldb_private::AppleGetThreadItemInfoHandler::Detach(), lldb_private::AppleGetItemInfoHandler::Detach(), lldb_private::AppleGetPendingItemsHandler::Detach(), lldb_private::FormatManager::DisableAllCategories(), CommandObjectMemoryRead::DoExecute(), PlatformPOSIX::DoLoadImage(), ExtractFields(), lldb_private::ItaniumABILanguageRuntime::FixUpDynamicType(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), GetCompilerTypeForFormat(), lldb_private::AppleGetQueuesHandler::GetCurrentQueues(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), lldb_private::AppleGetItemInfoHandler::GetItemInfo(), GetNSPathStore2Type(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetOpaqueQualType(), lldb_private::AppleGetPendingItemsHandler::GetPendingItems(), lldb_private::TypeImpl::GetPointerType(), lldb_private::AppleObjCTrampolineHandler::GetStepThroughDispatchPlan(), lldb_private::AppleObjCRuntimeV2::GetTaggedPointerObfuscator(), lldb_private::AppleGetThreadItemInfoHandler::GetThreadItemInfo(), lldb_private::DynamicLoaderDarwin::GetThreadLocalData(), lldb_private::StackFrame::GuessValueForAddress(), lldb_private::InferiorCall(), lldb_private::InferiorCallMmap(), PlatformPOSIX::MakeLoadImageUtilityFunction(), DynamicLoaderMacOS::NotifyBreakpointHit(), DynamicLoaderMacOSXDYLD::NotifyBreakpointHit(), ObjCExceptionRecognizedStackFrame::ObjCExceptionRecognizedStackFrame(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::Type::ResolveClangType(), lldb_private::ClangExpressionDeclMap::ResolveUnknownTypes(), lldb_private::AppleObjCTrampolineHandler::SetupDispatchFunction(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), and lldb_private::AppleObjCTrampolineHandler::~AppleObjCTrampolineHandler().

◆ GetRValueReferenceType()

CompilerType CompilerType::GetRValueReferenceType ( ) const

◆ GetTemplateArgumentKind()

TemplateArgumentKind CompilerType::GetTemplateArgumentKind ( size_t  idx) const

◆ GetTypeBitAlign()

size_t CompilerType::GetTypeBitAlign ( ) const

◆ GetTypeClass()

lldb::TypeClass CompilerType::GetTypeClass ( ) const

◆ GetTypedefedType()

CompilerType CompilerType::GetTypedefedType ( ) const

◆ GetTypeForFormatters()

CompilerType CompilerType::GetTypeForFormatters ( ) const

◆ GetTypeInfo()

uint32_t CompilerType::GetTypeInfo ( CompilerType pointee_or_element_compiler_type = nullptr) const

◆ GetTypeName()

ConstString CompilerType::GetTypeName ( ) const

◆ GetTypeQualifiers()

unsigned CompilerType::GetTypeQualifiers ( ) const

Definition at line 342 of file CompilerType.cpp.

References lldb_private::TypeSystem::GetTypeQualifiers(), and IsValid().

Referenced by GetOpaqueQualType().

◆ GetTypeSystem()

TypeSystem* lldb_private::CompilerType::GetTypeSystem ( ) const
inline

Definition at line 150 of file CompilerType.h.

References GetConstQualifiedTypeName(), GetConstTypeName(), GetDisplayTypeName(), GetMinimumLanguage(), GetTypeInfo(), and GetTypeName().

Referenced by lldb_private::ClangASTContext::AddEnumerationValueToEnumerationType(), lldb_private::ClangASTContext::AddFieldToRecordType(), lldb_private::NameSearchContext::AddFunDecl(), lldb_private::ClangASTContext::AddMethodToObjCObjectType(), lldb_private::ClangASTContext::AddObjCClassProperty(), lldb_private::ClangExpressionDeclMap::AddPersistentVariable(), lldb_private::NameSearchContext::AddVarDecl(), lldb_private::ClangASTContext::AddVariableToRecordType(), lldb_private::ClangASTContext::AreTypesSame(), lldb_private::ClangASTContext::BuildIndirectFields(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren(), lldb_private::ClangASTImporter::CanImport(), lldb_private::ClangASTContext::CompleteTagDeclarationDefinition(), SymbolFileDWARF::CompleteType(), lldb_private::ClangASTImporter::CopyType(), lldb_private::ClangASTContext::CreateMemberPointerType(), lldb_private::ClangASTContext::CreateTypedefType(), lldb_private::ClangASTContext::DumpTypeName(), ExportAllDeclaredTypes(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), lldb_private::ClangASTContext::GetHasExternalStorage(), lldb_private::TypeImpl::GetTypeSystem(), lldb_private::ClangASTSource::GuardedCopyType(), SymbolFileDWARF::HasForwardDeclForClangType(), lldb_private::ClangASTImporter::Import(), lldb_private::ClangUtil::IsClangType(), lldb_private::ClangASTContext::IsObjCObjectPointerType(), lldb_private::operator==(), DWARFASTParserClang::ParseChildMembers(), lldb_private::ClangUtil::RemoveFastQualifiers(), lldb_private::ClangASTContext::SetIsPacked(), and lldb_private::ClangASTContext::SetObjCSuperClass().

◆ GetTypeTemplateArgument()

CompilerType CompilerType::GetTypeTemplateArgument ( size_t  idx) const

◆ GetValueAsScalar()

bool CompilerType::GetValueAsScalar ( const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size,
Scalar value 
) const

◆ GetVirtualBaseClassAtIndex()

CompilerType CompilerType::GetVirtualBaseClassAtIndex ( size_t  idx,
uint32_t bit_offset_ptr 
) const

◆ IsAggregateType()

bool CompilerType::IsAggregateType ( ) const

◆ IsAnonymousType()

bool CompilerType::IsAnonymousType ( ) const

◆ IsArrayOfScalarType()

bool CompilerType::IsArrayOfScalarType ( ) const

Definition at line 258 of file CompilerType.cpp.

References IsArrayType(), and IsScalarType().

Referenced by IsValid().

◆ IsArrayType()

bool CompilerType::IsArrayType ( CompilerType element_type,
uint64_t *  size,
bool *  is_incomplete 
) const

◆ IsBeingDefined()

bool CompilerType::IsBeingDefined ( ) const

◆ IsBlockPointerType()

bool CompilerType::IsBlockPointerType ( CompilerType function_pointer_type_ptr) const

◆ IsCharType()

bool CompilerType::IsCharType ( ) const

◆ IsCompleteType()

bool CompilerType::IsCompleteType ( ) const

◆ IsConst()

bool CompilerType::IsConst ( ) const

Definition at line 98 of file CompilerType.cpp.

References lldb_private::TypeSystem::IsConst(), and IsValid().

Referenced by IsValid().

◆ IsCStringType()

bool CompilerType::IsCStringType ( uint32_t length) const

Definition at line 104 of file CompilerType.cpp.

References lldb_private::TypeSystem::IsCStringType(), and IsValid().

Referenced by IsValid().

◆ IsDefined()

bool CompilerType::IsDefined ( ) const

◆ IsEnumerationType()

bool CompilerType::IsEnumerationType ( bool &  is_signed) const

◆ IsFloatingPointType()

bool CompilerType::IsFloatingPointType ( uint32_t count,
bool &  is_complex 
) const

◆ IsFunctionPointerType()

bool CompilerType::IsFunctionPointerType ( ) const

◆ IsFunctionType()

bool CompilerType::IsFunctionType ( bool *  is_variadic_ptr = nullptr) const

◆ IsHomogeneousAggregate()

uint32_t CompilerType::IsHomogeneousAggregate ( CompilerType base_type_ptr) const

◆ IsIntegerOrEnumerationType()

bool CompilerType::IsIntegerOrEnumerationType ( bool &  is_signed) const

◆ IsIntegerType()

bool CompilerType::IsIntegerType ( bool &  is_signed) const

◆ IsMeaninglessWithoutDynamicResolution()

bool CompilerType::IsMeaninglessWithoutDynamicResolution ( ) const

◆ IsPointerOrReferenceType()

bool CompilerType::IsPointerOrReferenceType ( CompilerType pointee_type = nullptr) const

◆ IsPointerToScalarType()

bool CompilerType::IsPointerToScalarType ( ) const

Definition at line 251 of file CompilerType.cpp.

References GetPointeeType(), IsPointerType(), IsScalarType(), and IsValid().

Referenced by IsPossibleCPlusPlusDynamicType().

◆ IsPointerType()

bool CompilerType::IsPointerType ( CompilerType pointee_type = nullptr) const

◆ IsPolymorphicClass()

bool CompilerType::IsPolymorphicClass ( ) const

Definition at line 216 of file CompilerType.cpp.

References lldb_private::TypeSystem::IsPolymorphicClass(), and IsValid().

Referenced by IsValid().

◆ IsPossibleCPlusPlusDynamicType()

bool lldb_private::CompilerType::IsPossibleCPlusPlusDynamicType ( CompilerType target_type = nullptr) const
inline

◆ IsPossibleDynamicType()

bool CompilerType::IsPossibleDynamicType ( CompilerType target_type,
bool  check_cplusplus,
bool  check_objc 
) const

◆ IsReferenceType()

bool CompilerType::IsReferenceType ( CompilerType pointee_type = nullptr,
bool *  is_rvalue = nullptr 
) const

◆ IsRuntimeGeneratedType()

bool CompilerType::IsRuntimeGeneratedType ( ) const

◆ IsScalarType()

bool CompilerType::IsScalarType ( ) const

◆ IsTypedefType()

bool CompilerType::IsTypedefType ( ) const

◆ IsValid()

bool lldb_private::CompilerType::IsValid ( ) const
inline

Definition at line 64 of file CompilerType.h.

References GetFunctionArgumentAtIndex(), GetNumberOfFunctionArguments(), IsAggregateType(), IsAnonymousType(), IsArrayOfScalarType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), IsCompleteType(), IsConst(), IsCStringType(), IsDefined(), IsEnumerationType(), IsFloatingPointType(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerOrEnumerationType(), IsIntegerType(), IsPolymorphicClass(), IsVariadicFunctionType(), and IsVectorType().

Referenced by AddConstModifier(), lldb_private::ClangASTContext::AddFieldToRecordType(), lldb_private::NameSearchContext::AddFunDecl(), lldb_private::ClangASTContext::AddMethodToCXXRecordType(), lldb_private::ClangASTContext::AddMethodToObjCObjectType(), lldb_private::ClangASTContext::AddObjCClassProperty(), AddRestrictModifier(), lldb_private::NameSearchContext::AddVarDecl(), lldb_private::ClangASTContext::AddVariableToRecordType(), AddVolatileModifier(), lldb_private::ValueObjectVariable::CalculateNumChildren(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren(), lldb_private::ValueObject::CanProvideValue(), lldb_private::Watchpoint::CaptureWatchedValue(), lldb_private::ValueObject::ClearDynamicTypeInformation(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::npdb::PdbAstBuilder::CompleteTagDecl(), ConvertStringToFloatValue(), lldb_private::ClangASTContext::CreateArrayType(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::ClangASTContext::CreateMemberPointerType(), lldb_private::ValueObjectSynthetic::CreateSynthFilter(), CreateTypedef(), lldb_private::FormatManager::DisableAllCategories(), CommandObjectMemoryRead::DoExecute(), lldb_private::Type::Dump(), dump(), DumpSummary(), DumpTypeDescription(), DumpTypeValue(), DumpValue(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), ForEachEnumerator(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), GetArrayElementType(), GetArrayType(), GetBasicTypeEnumeration(), GetBasicTypeFromAST(), GetBitSize(), lldb_private::ValueObjectVariable::GetByteSize(), GetCanonicalType(), lldb_private::TypeImpl::GetCanonicalType(), lldb_private::formatters::NSDictionaryISyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >::GetChildAtIndex(), lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd::GetChildAtIndex(), GetChildCompilerTypeAtIndex(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::Value::GetCompilerType(), lldb_private::TypeImpl::GetCompilerType(), lldb_private::ValueObjectRegister::GetCompilerTypeImpl(), GetCompleteType(), GetConstTypeName(), lldb_private::TypeImpl::GetDereferencedType(), lldb_private::Type::GetDescription(), lldb_private::TypeImpl::GetDescription(), lldb::SBType::GetDirectBaseClassAtIndex(), GetDirectBaseClassAtIndex(), GetEncoding(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), GetPointeeType(), lldb_private::TypeImpl::GetPointeeType(), GetPointerType(), lldb_private::TypeImpl::GetPointerType(), lldb_private::TypeImpl::GetReferenceType(), lldb_private::ABI::GetReturnValueObject(), GetRValueReferenceType(), GetTemplateArgumentKind(), lldb::SBType::GetTemplateArgumentType(), lldb::SBTypeNameSpecifier::GetType(), ObjCRuntimeMethodType::GetTypeAtIndex(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), lldb_private::TypeImpl::GetTypedefedType(), GetTypeForFormatters(), GetTypeInfo(), GetTypeName(), GetTypeQualifiers(), lldb_private::TypeImpl::GetTypeSystem(), GetTypeTemplateArgument(), lldb_private::TypeImpl::GetUnqualifiedType(), lldb_private::Value::GetValueAsData(), GetValueAsScalar(), lldb_private::Value::GetValueDefaultFormat(), lldb::SBType::GetVirtualBaseClassAtIndex(), GetVirtualBaseClassAtIndex(), lldb_private::TypeAndOrName::HasCompilerType(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), IsCompleteType(), IsConst(), IsCStringType(), lldb_private::ClangASTContext::IsCStringType(), IsDefined(), IsEnumerationType(), IsFloatingPointType(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsMeaninglessWithoutDynamicResolution(), IsPointerOrReferenceType(), IsPointerToScalarType(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsReferenceType(), IsRuntimeGeneratedType(), IsScalarType(), IsTypedefType(), lldb_private::TypeImpl::IsValid(), IsVectorType(), IsVoidType(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator(), lldb_private::ThreadPlanAssemblyTracer::Log(), PrivateAutoComplete(), ReadFromMemory(), lldb_private::Type::ResolveClangType(), lldb_private::ClangExpressionDeclMap::ResolveUnknownTypes(), lldb_private::Value::ResolveValue(), lldb_private::ClangASTContext::SetObjCSuperClass(), lldb_private::ThreadPlanCallFunction::SetReturnValue(), SetValueFromScalar(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), ShouldPrintAsOneLiner(), ShouldTreatScalarValueAsAddress(), lldb_private::ThreadPlanAssemblyTracer::ThreadPlanAssemblyTracer(), lldb_private::TypeNameSpecifierImpl::TypeNameSpecifierImpl(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::Update(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::Watchpoint::Watchpoint(), and WriteToMemory().

◆ IsVariadicFunctionType()

bool lldb_private::CompilerType::IsVariadicFunctionType ( ) const

Referenced by IsValid().

◆ IsVectorType()

bool CompilerType::IsVectorType ( CompilerType element_type,
uint64_t *  size 
) const

◆ IsVoidType()

bool CompilerType::IsVoidType ( ) const

◆ operator bool()

lldb_private::CompilerType::operator bool ( ) const
inlineexplicit

Definition at line 54 of file CompilerType.h.

◆ operator<()

bool lldb_private::CompilerType::operator< ( const CompilerType rhs) const
inline

Definition at line 58 of file CompilerType.h.

◆ operator=()

const CompilerType& lldb_private::CompilerType::operator= ( const CompilerType rhs)
inline

Definition at line 46 of file CompilerType.h.

Referenced by lldb_private::TaggedASTType< 1 >::operator=().

◆ ReadFromMemory()

bool CompilerType::ReadFromMemory ( lldb_private::ExecutionContext exe_ctx,
lldb::addr_t  addr,
AddressType  address_type,
lldb_private::DataExtractor data 
)

◆ SetCompilerType() [1/2]

void CompilerType::SetCompilerType ( TypeSystem type_system,
lldb::opaque_compiler_type_t  type 
)

◆ SetCompilerType() [2/2]

void CompilerType::SetCompilerType ( clang::ASTContext *  ast,
clang::QualType  qual_type 
)

Definition at line 336 of file CompilerType.cpp.

References lldb_private::ClangASTContext::GetASTContext().

◆ SetValueFromScalar()

bool CompilerType::SetValueFromScalar ( const Scalar value,
Stream strm 
)

◆ ShouldPrintAsOneLiner()

LazyBool CompilerType::ShouldPrintAsOneLiner ( ValueObject valobj) const

◆ ShouldTreatScalarValueAsAddress()

bool CompilerType::ShouldTreatScalarValueAsAddress ( ) const

◆ WriteToMemory()

bool CompilerType::WriteToMemory ( lldb_private::ExecutionContext exe_ctx,
lldb::addr_t  addr,
AddressType  address_type,
StreamString new_value 
)

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