LLDB mainline
|
Generic representation of a type in a programming language. More...
#include <CompilerType.h>
Classes | |
struct | IntegralTemplateArgument |
class | TypeSystemSPWrapper |
This is a minimal wrapper of a TypeSystem shared pointer as returned by CompilerType which conventien dyn_cast support. More... | |
Public Member Functions | |
CompilerType (lldb::TypeSystemWP type_system, lldb::opaque_compiler_type_t type) | |
Creates a CompilerType with the given TypeSystem and opaque compiler type. | |
CompilerType (TypeSystemSPWrapper type_system, lldb::opaque_compiler_type_t type) | |
CompilerType (const CompilerType &rhs) | |
CompilerType ()=default | |
bool | IsForcefullyCompleted () const |
bool | GetValueAsScalar (const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, Scalar &value, ExecutionContextScope *exe_scope) const |
void | Clear () |
const CompilerType & | operator= (const CompilerType &rhs) |
Operators. | |
bool | operator< (const CompilerType &rhs) const |
operator bool () const | |
Tests. | |
bool | IsValid () const |
bool | IsArrayType (CompilerType *element_type=nullptr, uint64_t *size=nullptr, bool *is_incomplete=nullptr) const |
bool | IsVectorType (CompilerType *element_type=nullptr, uint64_t *size=nullptr) const |
bool | IsArrayOfScalarType () const |
bool | IsAggregateType () const |
bool | IsAnonymousType () const |
bool | IsScopedEnumerationType () 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 () 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 | IsMemberFunctionPointerType () const |
bool | IsBlockPointerType (CompilerType *function_pointer_type_ptr=nullptr) const |
bool | IsIntegerType (bool &is_signed) const |
bool | IsEnumerationType (bool &is_signed) const |
bool | IsIntegerOrEnumerationType (bool &is_signed) const |
bool | IsPolymorphicClass () 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 | IsTemplateType () const |
bool | IsTypedefType () const |
bool | IsVoidType () const |
bool | GetCompleteType () const |
Type Completion. | |
size_t | GetPointerByteSize () const |
AST related queries. | |
TypeSystemSPWrapper | GetTypeSystem () const |
Accessors. | |
ConstString | GetTypeName (bool BaseOnly=false) 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 (lldb::TypeSystemWP type_system, lldb::opaque_compiler_type_t type) |
void | SetCompilerType (TypeSystemSPWrapper type_system, lldb::opaque_compiler_type_t type) |
unsigned | GetTypeQualifiers () const |
CompilerType | GetArrayElementType (ExecutionContextScope *exe_scope) const |
Creating related types. | |
CompilerType | GetArrayType (uint64_t size) const |
CompilerType | GetCanonicalType () const |
CompilerType | GetFullyUnqualifiedType () const |
CompilerType | GetEnumerationIntegerType () const |
int | GetFunctionArgumentCount () const |
Returns -1 if this isn't a function of if the function doesn't have a prototype Returns a value >= 0 if there is a prototype. | |
CompilerType | GetFunctionArgumentTypeAtIndex (size_t idx) const |
CompilerType | GetFunctionReturnType () const |
size_t | GetNumMemberFunctions () const |
TypeMemberFunctionImpl | GetMemberFunctionAtIndex (size_t idx) |
CompilerType | GetNonReferenceType () const |
If this type is a reference to a type (L value or R value reference), return a new type with the reference removed, else return the current type itself. | |
CompilerType | GetPointeeType () const |
If this type is a pointer type, return the type that the pointer points to, else return an invalid type. | |
CompilerType | GetPointerType () const |
Return a new CompilerType that is a pointer to this type. | |
CompilerType | GetLValueReferenceType () const |
Return a new CompilerType that is a L value reference to this type if this type is valid and the type system supports L value references, else return an invalid type. | |
CompilerType | GetRValueReferenceType () const |
Return a new CompilerType that is a R value reference to this type if this type is valid and the type system supports R value references, else return an invalid type. | |
CompilerType | AddConstModifier () const |
Return a new CompilerType adds a const modifier to this type if this type is valid and the type system supports const modifiers, else return an invalid type. | |
CompilerType | AddVolatileModifier () const |
Return a new CompilerType adds a volatile modifier to this type if this type is valid and the type system supports volatile modifiers, else return an invalid type. | |
CompilerType | GetAtomicType () const |
Return a new CompilerType that is the atomic type of this type. | |
CompilerType | AddRestrictModifier () const |
Return a new CompilerType adds a restrict modifier to this type if this type is valid and the type system supports restrict modifiers, else return an invalid type. | |
CompilerType | CreateTypedef (const char *name, const CompilerDeclContext &decl_ctx, uint32_t payload) const |
Create a typedef to this type using "name" as the name of the typedef this type is valid and the type system supports typedefs, else return an invalid type. | |
CompilerType | GetTypedefedType () const |
If the current object represents a typedef type, get the underlying type. | |
CompilerType | GetBasicTypeFromAST (lldb::BasicType basic_type) const |
Create related types using the current type's AST. | |
LLVM_DUMP_METHOD void | dump () const |
Dumping types. | |
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 (lldb::DescriptionLevel level=lldb::eDescriptionLevelFull) const |
Dump to stdout. | |
void | DumpTypeDescription (Stream *s, lldb::DescriptionLevel level=lldb::eDescriptionLevelFull) const |
Print a description of the type to a stream. | |
Private Member Functions | |
bool | Verify () const |
If the type is valid, ask the TypeSystem to verify the integrity of the type to catch CompilerTypes that mix and match invalid TypeSystem/Opaque type pairs. | |
Private Attributes | |
lldb::TypeSystemWP | m_type_system |
lldb::opaque_compiler_type_t | m_type = nullptr |
std::optional< uint64_t > | GetByteSize (ExecutionContextScope *exe_scope) const |
Return the size of the type in bytes. | |
std::optional< uint64_t > | GetBitSize (ExecutionContextScope *exe_scope) const |
Return the size of the type in bits. | |
lldb::Encoding | GetEncoding (uint64_t &count) const |
lldb::Format | GetFormat () const |
std::optional< size_t > | GetTypeBitAlign (ExecutionContextScope *exe_scope) 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 |
If this type is an enumeration, iterate through all of its enumerators using a callback. | |
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 (llvm::StringRef name, bool omit_empty_base_classes) const |
Lookup a child given a name. | |
size_t | GetIndexOfChildMemberWithName (llvm::StringRef name, bool omit_empty_base_classes, std::vector< uint32_t > &child_indexes) const |
Lookup a child member given a name. | |
size_t | GetNumTemplateArguments (bool expand_pack=false) const |
Return the number of template arguments the type has. | |
lldb::TemplateArgumentKind | GetTemplateArgumentKind (size_t idx, bool expand_pack=false) const |
CompilerType | GetTypeTemplateArgument (size_t idx, bool expand_pack=false) const |
std::optional< IntegralTemplateArgument > | GetIntegralTemplateArgument (size_t idx, bool expand_pack=false) const |
Returns the value of the template argument and its type. | |
CompilerType | GetTypeForFormatters () const |
LazyBool | ShouldPrintAsOneLiner (ValueObject *valobj) const |
bool | IsMeaninglessWithoutDynamicResolution () const |
static lldb::BasicType | GetBasicTypeEnumeration (ConstString name) |
Generic representation of a type in a programming language.
This class serves as an abstraction for a type inside one of the TypeSystems implemented by the language plugins. It does not have any actual logic in it but only stores an opaque pointer and a pointer to the TypeSystem that gives meaning to this opaque pointer. All methods of this class should call their respective method in the TypeSystem interface and pass the opaque pointer along.
Definition at line 36 of file CompilerType.h.
|
inline |
Creates a CompilerType with the given TypeSystem and opaque compiler type.
This constructor should only be called from the respective TypeSystem implementation.
Definition at line 44 of file CompilerType.h.
References Verify().
|
inline |
Definition at line 91 of file CompilerType.h.
References Verify().
|
inline |
Definition at line 96 of file CompilerType.h.
|
default |
Referenced by AddConstModifier(), AddRestrictModifier(), AddVolatileModifier(), CreateTypedef(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeFromAST(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetDirectBaseClassAtIndex(), GetEnumerationIntegerType(), GetFieldAtIndex(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetLValueReferenceType(), GetNonReferenceType(), GetPointeeType(), GetPointerType(), GetRValueReferenceType(), GetTypedefedType(), GetTypeForFormatters(), GetTypeTemplateArgument(), and GetVirtualBaseClassAtIndex().
CompilerType CompilerType::AddConstModifier | ( | ) | const |
Return a new CompilerType adds a const modifier to this type if this type is valid and the type system supports const modifiers, else return an invalid type.
Definition at line 510 of file CompilerType.cpp.
References AddConstModifier(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddConstModifier(), PDBASTParser::CreateLLDBTypeFromPDBType(), and lldb_private::Type::ResolveCompilerType().
CompilerType CompilerType::AddRestrictModifier | ( | ) | const |
Return a new CompilerType adds a restrict modifier to this type if this type is valid and the type system supports restrict modifiers, else return an invalid type.
Definition at line 524 of file CompilerType.cpp.
References AddRestrictModifier(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddRestrictModifier(), PDBASTParser::CreateLLDBTypeFromPDBType(), and lldb_private::Type::ResolveCompilerType().
CompilerType CompilerType::AddVolatileModifier | ( | ) | const |
Return a new CompilerType adds a volatile modifier to this type if this type is valid and the type system supports volatile modifiers, else return an invalid type.
Definition at line 517 of file CompilerType.cpp.
References AddVolatileModifier(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddVolatileModifier(), PDBASTParser::CreateLLDBTypeFromPDBType(), and lldb_private::Type::ResolveCompilerType().
|
inline |
Definition at line 472 of file CompilerType.h.
References m_type, and m_type_system.
Referenced by lldb_private::Value::Clear(), lldb_private::TypeImpl::Clear(), lldb_private::TypeAndOrName::Clear(), lldb_private::TypeSystemClang::GetTypeInfo(), IsArrayType(), lldb_private::TypeSystemClang::IsArrayType(), lldb_private::TypeSystemClang::IsObjCObjectPointerType(), IsPointerOrReferenceType(), lldb_private::TypeSystemClang::IsPointerOrReferenceType(), IsPointerType(), lldb_private::TypeSystemClang::IsPointerType(), lldb_private::TypeSystemClang::IsPossibleDynamicType(), IsReferenceType(), lldb_private::TypeSystemClang::IsReferenceType(), and lldb_private::TypeImpl::SetType().
CompilerType CompilerType::CreateTypedef | ( | const char * | name, |
const CompilerDeclContext & | decl_ctx, | ||
uint32_t | payload | ||
) | const |
Create a typedef to this type using "name" as the name of the typedef this type is valid and the type system supports typedefs, else return an invalid type.
payload | The typesystem-specific lldb::Type payload. |
Definition at line 531 of file CompilerType.cpp.
References CompilerType(), CreateTypedef(), GetTypeSystem(), IsValid(), and m_type.
Referenced by PDBASTParser::CreateLLDBTypeFromPDBType(), CreateTypedef(), lldb_private::npdb::PdbAstBuilder::GetOrCreateTypedefDecl(), and lldb_private::Type::ResolveCompilerType().
LLVM_DUMP_METHOD void CompilerType::dump | ( | ) | const |
Dumping types.
Convenience LLVM-style dump method for use in the debugger only. Don't call this function from actual code.
Definition at line 877 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::DumpFromSymbolFile().
void CompilerType::DumpSummary | ( | ExecutionContext * | exe_ctx, |
Stream * | s, | ||
const DataExtractor & | data, | ||
lldb::offset_t | data_offset, | ||
size_t | data_byte_size | ||
) |
Definition at line 853 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
void CompilerType::DumpTypeDescription | ( | lldb::DescriptionLevel | level = lldb::eDescriptionLevelFull | ) | const |
Dump to stdout.
Definition at line 863 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::Type::Dump(), lldb_private::Language::ImageListTypeScavenger::Result::DumpToStream(), lldb_private::TypeImpl::GetDescription(), lldb_private::Type::GetDescription(), and lldb_private::Thread::ReturnFromFrame().
void CompilerType::DumpTypeDescription | ( | Stream * | s, |
lldb::DescriptionLevel | level = lldb::eDescriptionLevelFull |
||
) | const |
Print a description of the type to a stream.
The exact implementation varies, but the expectation is that eDescriptionLevelFull returns a source-like representation of the type, whereas eDescriptionLevelVerbose does a dump of the underlying AST if applicable.
Definition at line 869 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
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 | ||
) |
Definition at line 839 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::DumpTypeValue(), lldb_private::TypeFormatImpl_Format::FormatObject(), and lldb_private::TypeFormatImpl_EnumType::FormatObject().
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 | ||
) |
Definition at line 825 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::Type::DumpValue(), and lldb_private::TypeSystemClang::DumpValue().
void CompilerType::ForEachEnumerator | ( | std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const & | callback | ) | const |
If this type is an enumeration, iterate through all of its enumerators using a callback.
If the callback returns true, keep iterating, else abort the iteration.
Definition at line 611 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb::SBType::GetEnumMembers().
CompilerType CompilerType::GetArrayElementType | ( | ExecutionContextScope * | exe_scope | ) | const |
Creating related types.
Definition at line 389 of file CompilerType.cpp.
References CompilerType(), GetArrayElementType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetArrayElementType(), and lldb_private::FormatManager::GetPossibleMatches().
CompilerType CompilerType::GetArrayType | ( | uint64_t | size | ) | const |
Definition at line 397 of file CompilerType.cpp.
References CompilerType(), GetArrayType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetArrayType(), lldb_private::FormatManager::GetPossibleMatches(), and lldb_private::platform_netbsd::PlatformNetBSD::GetSiginfoType().
CompilerType CompilerType::GetAtomicType | ( | ) | const |
Return a new CompilerType that is the atomic type of this type.
If this type is not valid or the type system doesn't support atomic types, this returns an invalid type.
Definition at line 503 of file CompilerType.cpp.
References CompilerType(), GetAtomicType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetAtomicType(), and lldb_private::Type::ResolveCompilerType().
lldb::BasicType CompilerType::GetBasicTypeEnumeration | ( | ) | const |
Definition at line 604 of file CompilerType.cpp.
References lldb::eBasicTypeInvalid, GetTypeSystem(), IsValid(), and m_type.
|
static |
CompilerType CompilerType::GetBasicTypeFromAST | ( | lldb::BasicType | basic_type | ) | const |
Create related types using the current type's AST.
Definition at line 550 of file CompilerType.cpp.
References CompilerType(), GetBasicTypeFromAST(), GetTypeSystem(), and IsValid().
Referenced by lldb_private::Process::CallVoidArgVoidPtrReturn(), GetBasicTypeFromAST(), lldb_private::StackFrame::GuessValueForAddress(), lldb_private::InferiorCallMmap(), lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::LibcxxVectorBoolSyntheticFrontEnd(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::Type::ResolveCompilerType(), lldb_private::AppleGetItemInfoHandler::SetupGetItemInfoFunction(), lldb_private::formatters::WCharStringSummaryProvider(), and lldb_private::formatters::WCharSummaryProvider().
std::optional< uint64_t > CompilerType::GetBitSize | ( | ExecutionContextScope * | exe_scope | ) | const |
Return the size of the type in bits.
Definition at line 559 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by FlattenAggregateType(), ABIMacOSX_arm64::GetArgumentValues(), ABISysV_arm64::GetArgumentValues(), ABIMacOSX_arm::GetArgumentValues(), ABISysV_arm::GetArgumentValues(), ABISysV_ppc::GetArgumentValues(), ABISysV_ppc64::GetArgumentValues(), ABISysV_s390x::GetArgumentValues(), ABIMacOSX_i386::GetArgumentValues(), ABISysV_i386::GetArgumentValues(), ABISysV_x86_64::GetArgumentValues(), ABIWindows_x86_64::GetArgumentValues(), GetByteSize(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABIMacOSX_i386::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), DWARFASTParserClang::ParseTemplateDIE(), ABISysV_ppc::SetReturnValueObject(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), ABIWindows_x86_64::SetReturnValueObject(), lldb_private::formatters::WCharStringSummaryProvider(), and lldb_private::formatters::WCharSummaryProvider().
std::optional< uint64_t > CompilerType::GetByteSize | ( | ExecutionContextScope * | exe_scope | ) | const |
Return the size of the type in bytes.
Definition at line 567 of file CompilerType.cpp.
References GetBitSize().
Referenced by CalculateNumChildren(), CommandObjectMemoryRead::DoExecute(), lldb_private::ClassDescriptorV2::iVarsStorage::fill(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ValueObjectMemory::GetByteSize(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::Type::GetByteSize(), lldb_private::formatters::VectorTypeSyntheticFrontEnd::GetChildAtIndex(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::ValueObject::GetPointeeData(), lldb_private::RegisterTypeBuilderClang::GetRegisterType(), ABIMacOSX_arm64::GetReturnValueObjectImpl(), ABISysV_arm64::GetReturnValueObjectImpl(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectSimple(), ABISysV_ppc::GetReturnValueObjectSimple(), ABISysV_s390x::GetReturnValueObjectSimple(), ABISysV_i386::GetReturnValueObjectSimple(), ABISysV_x86_64::GetReturnValueObjectSimple(), ABIWindows_x86_64::GetReturnValueObjectSimple(), lldb_private::Thread::GetSiginfoValue(), lldb_private::ValueObject::GetSyntheticBase(), lldb_private::ValueObject::GetSyntheticChildAtOffset(), lldb_private::Value::GetValueAsData(), GetValueAsScalar(), LoadValueFromConsecutiveGPRRegisters(), IRForTarget::MaybeHandleVariable(), DWARFASTParserClang::ParseEnum(), DWARFASTParserClang::ParsePointerToMemberType(), lldb_private::ProcessStructReader::ProcessStructReader(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), and lldb_private::formatters::LibCxxUnorderedMapIteratorSyntheticFrontEnd::Update().
CompilerType CompilerType::GetCanonicalType | ( | ) | const |
Definition at line 405 of file CompilerType.cpp.
References CompilerType(), GetCanonicalType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetCanonicalType(), lldb_private::TypeImpl::GetCanonicalType(), PrivateAutoComplete(), and PrivateAutoCompleteMembers().
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 |
Definition at line 691 of file CompilerType.cpp.
References CompilerType(), GetChildCompilerTypeAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CreateChildAtIndex(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), lldb_private::ValueObject::Dereference(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetChildAtIndex(), GetChildCompilerTypeAtIndex(), and lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex().
bool CompilerType::GetCompleteType | ( | ) | const |
Type Completion.
Definition at line 315 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType(), lldb_private::TypeSystemClang::AddFieldToRecordType(), PDBASTParser::AddRecordMethod(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::ObjCLanguageRuntime::GetRuntimeType(), lldb_private::TypeSystemClang::IsPossibleDynamicType(), DWARFASTParserClang::ParseSingleMember(), and lldb_private::TypeSystemClang::RequireCompleteType().
CompilerType CompilerType::GetDirectBaseClassAtIndex | ( | size_t | idx, |
uint32_t * | bit_offset_ptr | ||
) | const |
Definition at line 653 of file CompilerType.cpp.
References CompilerType(), GetDirectBaseClassAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::GetDirectBaseClassAtIndex(), GetDirectBaseClassAtIndex(), and PrivateAutoCompleteMembers().
ConstString CompilerType::GetDisplayTypeName | ( | ) | const |
Definition at line 337 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeImpl::GetDisplayTypeName(), lldb_private::ValueObjectChild::GetDisplayTypeName(), lldb_private::ValueObjectConstResult::GetDisplayTypeName(), lldb_private::ValueObjectDynamicValue::GetDisplayTypeName(), lldb_private::ValueObjectMemory::GetDisplayTypeName(), lldb_private::ValueObjectVariable::GetDisplayTypeName(), and lldb_private::formatters::LibcxxVariantSummaryProvider().
lldb::Encoding CompilerType::GetEncoding | ( | uint64_t & | count | ) | const |
Definition at line 581 of file CompilerType.cpp.
References lldb::eEncodingInvalid, GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::GetEncoding(), lldb_private::Type::GetEncoding(), GetValueAsScalar(), lldb_private::ValueObject::SetData(), and lldb_private::ValueObject::SetValueFromCString().
CompilerType CompilerType::GetEnumerationIntegerType | ( | ) | const |
Definition at line 419 of file CompilerType.cpp.
References CompilerType(), GetEnumerationIntegerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetEnumerationIntegerType().
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 |
Definition at line 627 of file CompilerType.cpp.
References CompilerType(), GetFieldAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by FlattenAggregateType(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetChildAtIndex(), GetFieldAtIndex(), lldb::SBType::GetFieldAtIndex(), GetIndexOfFieldWithName(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), PrivateAutoCompleteMembers(), lldb_private::ProcessStructReader::ProcessStructReader(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), and lldb_private::formatters::LibCxxUnorderedMapIteratorSyntheticFrontEnd::Update().
lldb::Format CompilerType::GetFormat | ( | ) | const |
Definition at line 588 of file CompilerType.cpp.
References lldb::eFormatDefault, GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::DumpTypeValue(), lldb_private::TypeSystemClang::DumpValue(), lldb_private::Type::GetFormat(), lldb_private::ValueObject::GetValueAsCString(), and lldb_private::Value::GetValueDefaultFormat().
CompilerType CompilerType::GetFullyUnqualifiedType | ( | ) | const |
Definition at line 412 of file CompilerType.cpp.
References CompilerType(), GetFullyUnqualifiedType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetFullyUnqualifiedType(), lldb_private::FormatManager::GetPossibleMatches(), and lldb_private::TypeImpl::GetUnqualifiedType().
CompilerType CompilerType::GetFunctionArgumentAtIndex | ( | const size_t | index | ) | const |
Definition at line 143 of file CompilerType.cpp.
References CompilerType(), GetFunctionArgumentAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeMemberFunctionImpl::GetArgumentAtIndex(), GetFunctionArgumentAtIndex(), and lldb::SBType::GetFunctionArgumentTypes().
int CompilerType::GetFunctionArgumentCount | ( | ) | const |
Returns -1 if this isn't a function of if the function doesn't have a prototype Returns a value >= 0 if there is a prototype.
Definition at line 426 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangFunctionCaller::CompileFunction().
CompilerType CompilerType::GetFunctionArgumentTypeAtIndex | ( | size_t | idx | ) | const |
Definition at line 434 of file CompilerType.cpp.
References CompilerType(), GetFunctionArgumentTypeAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangFunctionCaller::CompileFunction(), and GetFunctionArgumentTypeAtIndex().
CompilerType CompilerType::GetFunctionReturnType | ( | ) | const |
Definition at line 442 of file CompilerType.cpp.
References CompilerType(), GetFunctionReturnType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ThreadPlanStepOut::CalculateReturnValue(), GetFunctionReturnType(), lldb_private::TypeMemberFunctionImpl::GetReturnType(), and lldb_private::Thread::ReturnFromFrame().
size_t CompilerType::GetIndexOfChildMemberWithName | ( | llvm::StringRef | name, |
bool | omit_empty_base_classes, | ||
std::vector< uint32_t > & | child_indexes | ||
) | const |
Lookup a child member given a name.
This function will match member names only and will descend into "clang_type" children in search for the first member in this class, or any base class that matches "name". TODO: Return all matches for a given name by returning a vector<vector<uint32_t>> so we catch all names that match a given child name, not just the first.
Definition at line 743 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::GetChildMemberWithName(), and lldb_private::TypeSystemClang::GetIndexOfChildMemberWithName().
uint32_t CompilerType::GetIndexOfChildWithName | ( | llvm::StringRef | name, |
bool | omit_empty_base_classes | ||
) | const |
Lookup a child given a name.
This function will match base class names and member member names in "clang_type" only, not descendants.
Definition at line 813 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), m_type, and UINT32_MAX.
Referenced by lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetIndexOfChildWithName(), lldb_private::TypeSystemClang::GetIndexOfChildWithName(), and lldb_private::ValueObject::GetIndexOfChildWithName().
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 672 of file CompilerType.cpp.
References GetFieldAtIndex(), GetNumFields(), and UINT32_MAX.
Referenced by lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetValueOffset().
std::optional< CompilerType::IntegralTemplateArgument > CompilerType::GetIntegralTemplateArgument | ( | size_t | idx, |
bool | expand_pack = false |
||
) | const |
Returns the value of the template argument and its type.
If expand_pack is true, then variadic argument packs are automatically expanded to their supplied arguments. With expand_pack set to false, an arguement pack will count as 1 argument and it is invalid to call this method on the pack argument.
Definition at line 780 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
CompilerType CompilerType::GetLValueReferenceType | ( | ) | const |
Return a new CompilerType that is a L value reference to this type if this type is valid and the type system supports L value references, else return an invalid type.
Definition at line 489 of file CompilerType.cpp.
References CompilerType(), GetLValueReferenceType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneGenericVariable(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::ItaniumABILanguageRuntime::FixUpDynamicType(), GetLValueReferenceType(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::TypeImpl::GetReferenceType(), and lldb_private::Type::ResolveCompilerType().
TypeMemberFunctionImpl CompilerType::GetMemberFunctionAtIndex | ( | size_t | idx | ) |
Definition at line 458 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
lldb::LanguageType CompilerType::GetMinimumLanguage | ( | ) |
Definition at line 353 of file CompilerType.cpp.
References lldb::eLanguageTypeC, GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::GetMinimumLanguage(), lldb_private::ValueObject::GetObjectRuntimeLanguage(), lldb_private::ValueObjectConstResult::GetPreferredDisplayLanguage(), lldb_private::ABI::GetReturnValueObject(), lldb_private::CPlusPlusLanguage::GetTypeScavenger(), and lldb_private::ObjCLanguage::GetTypeScavenger().
CompilerType CompilerType::GetNonReferenceType | ( | ) | const |
If this type is a reference to a type (L value or R value reference), return a new type with the reference removed, else return the current type itself.
Definition at line 466 of file CompilerType.cpp.
References CompilerType(), GetNonReferenceType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeImpl::GetDereferencedType(), GetNonReferenceType(), and lldb_private::FormatManager::GetPossibleMatches().
size_t CompilerType::GetNumberOfFunctionArguments | ( | ) | const |
Definition at line 135 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb::SBType::GetFunctionArgumentTypes(), and lldb_private::TypeMemberFunctionImpl::GetNumArguments().
uint32_t CompilerType::GetNumChildren | ( | bool | omit_empty_base_classes, |
const ExecutionContext * | exe_ctx | ||
) | const |
Definition at line 595 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::BlockPointerSyntheticFrontEnd::CalculateNumChildren(), lldb_private::ValueObjectCast::CalculateNumChildren(), lldb_private::ValueObjectChild::CalculateNumChildren(), lldb_private::ValueObjectConstResult::CalculateNumChildren(), lldb_private::ValueObjectDynamicValue::CalculateNumChildren(), lldb_private::ValueObjectMemory::CalculateNumChildren(), lldb_private::ValueObjectRegister::CalculateNumChildren(), lldb_private::ValueObjectVariable::CalculateNumChildren(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::Type::GetNumChildren(), lldb_private::TypeSystemClang::GetNumChildren(), and PrivateAutoComplete().
uint32_t CompilerType::GetNumDirectBaseClasses | ( | ) | const |
Definition at line 638 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::GetNumDirectBaseClasses(), and PrivateAutoCompleteMembers().
uint32_t CompilerType::GetNumFields | ( | ) | const |
Definition at line 620 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by FlattenAggregateType(), GetIndexOfFieldWithName(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), PrivateAutoCompleteMembers(), and lldb_private::ProcessStructReader::ProcessStructReader().
size_t CompilerType::GetNumMemberFunctions | ( | ) | const |
Definition at line 450 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
size_t CompilerType::GetNumTemplateArguments | ( | bool | expand_pack = false | ) | const |
Return the number of template arguments the type has.
If expand_pack is true, then variadic argument packs are automatically expanded to their supplied arguments. If it is false an argument pack will only count as 1 argument.
Definition at line 754 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::LibcxxStdSpanSyntheticFrontEndCreator(), and lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator().
uint32_t CompilerType::GetNumVirtualBaseClasses | ( | ) | const |
Definition at line 645 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by PrivateAutoCompleteMembers().
|
inline |
Definition at line 234 of file CompilerType.h.
References m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType(), lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), lldb_private::npdb::UdtRecordCompleter::AddMethod(), lldb_private::ClangExpressionDeclMap::AddPersistentVariable(), PDBASTParser::AddRecordBases(), PDBASTParser::AddRecordMethod(), lldb_private::TypeSystemClang::AreTypesSame(), lldb_private::npdb::UdtRecordCompleter::complete(), DWARFASTParserClang::CompleteRecordType(), lldb_private::npdb::SymbolFileNativePDB::CompleteType(), lldb_private::ClangASTImporter::CompleteType(), SymbolFileDWARF::CompleteType(), DWARFASTParserClang::CompleteTypeFromDWARF(), PDBASTParser::CompleteTypeFromPDB(), PDBASTParser::CompleteTypeFromUDT(), lldb_private::npdb::PdbAstBuilder::CreateArrayType(), lldb_private::TypeSystemClang::CreateBlockPointerType(), lldb_private::npdb::PdbAstBuilder::CreateEnumType(), lldb_private::npdb::PdbAstBuilder::CreateFunctionDecl(), lldb_private::npdb::PdbAstBuilder::CreateFunctionType(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::npdb::PdbAstBuilder::CreateRecordType(), lldb_private::ClangASTImporter::DeportType(), CommandObjectMemoryRead::DoExecute(), lldb_private::Type::Dump(), lldb_private::TypeSystemClang::DumpFromSymbolFile(), lldb_private::npdb::PdbAstBuilder::GetBasicType(), lldb_private::ClangASTSource::GetCompleteObjCInterface(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::ClangUtil::GetQualType(), lldb_private::ObjCLanguageRuntime::GetTypeBitSize(), SymbolFileDWARF::HasForwardDeclForClangType(), lldb_private::ClangUtil::IsClangType(), lldb_private::operator==(), DWARFASTParserClang::ParseInheritance(), DWARFASTParserClang::ParseStructureLikeDIE(), and DWARFASTParserClang::ParseSubroutine().
CompilerType CompilerType::GetPointeeType | ( | ) | const |
If this type is a pointer type, return the type that the pointer points to, else return an invalid type.
Definition at line 473 of file CompilerType.cpp.
References CompilerType(), GetPointeeType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::Dereference(), DerefToNSErrorPointer(), GetPointeeType(), lldb_private::TypeImpl::GetPointeeType(), lldb_private::FormatManager::GetPossibleMatches(), IsPointerToScalarType(), lldb_private::ClangExpressionDeclMap::LookUpLldbClass(), lldb_private::ClangExpressionDeclMap::LookUpLldbObjCClass(), and PrivateAutoComplete().
size_t CompilerType::GetPointerByteSize | ( | ) | const |
AST related queries.
Definition at line 323 of file CompilerType.cpp.
References GetTypeSystem().
Referenced by lldb_private::Value::GetValueAsData().
CompilerType CompilerType::GetPointerType | ( | ) | const |
Return a new CompilerType that is a pointer to this type.
Definition at line 481 of file CompilerType.cpp.
References CompilerType(), GetPointerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType(), lldb_private::ClangExpressionDeclMap::AddOneGenericVariable(), lldb_private::ValueObject::AddressOf(), lldb_private::ValueObjectConstResultImpl::AddressOf(), lldb_private::Process::CallVoidArgVoidPtrReturn(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::ValueObject::CreateValueObjectFromAddress(), CommandObjectMemoryRead::DoExecute(), PlatformPOSIX::DoLoadImage(), lldb_private::PlatformWindows::DoLoadImage(), ExtractFields(), lldb_private::ItaniumABILanguageRuntime::FixUpDynamicType(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::GNUstepObjCRuntime::FixUpDynamicType(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetChildAtIndex(), lldb_private::AppleObjCRuntimeV2::SharedCacheClassInfoExtractor::GetClassInfoUtilityFunctionImpl(), lldb_private::AppleObjCRuntimeV2::DynamicClassInfoExtractor::GetClassInfoUtilityFunctionImpl(), lldb_private::AppleGetQueuesHandler::GetCurrentQueues(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), lldb_private::AppleGetItemInfoHandler::GetItemInfo(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::AppleGetPendingItemsHandler::GetPendingItems(), GetPointerType(), lldb_private::TypeImpl::GetPointerType(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::ObjCLanguageRuntime::GetRuntimeType(), lldb_private::platform_freebsd::PlatformFreeBSD::GetSiginfoType(), lldb_private::platform_linux::PlatformLinux::GetSiginfoType(), lldb_private::platform_netbsd::PlatformNetBSD::GetSiginfoType(), lldb_private::AppleObjCTrampolineHandler::GetStepThroughDispatchPlan(), lldb_private::AppleGetThreadItemInfoHandler::GetThreadItemInfo(), lldb_private::DynamicLoaderDarwin::GetThreadLocalData(), lldb_private::StackFrame::GuessValueForAddress(), lldb_private::InferiorCallMmap(), lldb_private::PlatformWindows::MakeLoadImageUtilityFunction(), PlatformPOSIX::MakeLoadImageUtilityFunction(), IRForTarget::MaybeHandleVariable(), DynamicLoaderMacOS::NotifyBreakpointHit(), DynamicLoaderMacOSXDYLD::NotifyBreakpointHit(), ObjCExceptionRecognizedStackFrame::ObjCExceptionRecognizedStackFrame(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::RefreshTrampolines(), lldb_private::Type::ResolveCompilerType(), lldb_private::AppleObjCTrampolineHandler::SetupDispatchFunction(), lldb_private::AppleGetItemInfoHandler::SetupGetItemInfoFunction(), lldb_private::AppleGetPendingItemsHandler::SetupGetPendingItemsFunction(), lldb_private::AppleGetQueuesHandler::SetupGetQueuesFunction(), lldb_private::AppleGetThreadItemInfoHandler::SetupGetThreadItemInfoFunction(), lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::Update(), and NSIndexPathSyntheticFrontEnd::Update().
CompilerType CompilerType::GetRValueReferenceType | ( | ) | const |
Return a new CompilerType that is a R value reference to this type if this type is valid and the type system supports R value references, else return an invalid type.
Definition at line 496 of file CompilerType.cpp.
References CompilerType(), GetRValueReferenceType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::FormatManager::GetPossibleMatches(), GetRValueReferenceType(), and lldb_private::Type::ResolveCompilerType().
TemplateArgumentKind CompilerType::GetTemplateArgumentKind | ( | size_t | idx, |
bool | expand_pack = false |
||
) | const |
Definition at line 763 of file CompilerType.cpp.
References lldb::eTemplateArgumentKindNull, GetTypeSystem(), IsValid(), and m_type.
std::optional< size_t > CompilerType::GetTypeBitAlign | ( | ExecutionContextScope * | exe_scope | ) | const |
Definition at line 574 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by IRForTarget::MaybeHandleVariable().
lldb::TypeClass CompilerType::GetTypeClass | ( | ) | const |
Definition at line 360 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by PrivateAutoComplete(), and lldb_private::TypeMap::RemoveMismatchedTypes().
CompilerType CompilerType::GetTypedefedType | ( | ) | const |
If the current object represents a typedef type, get the underlying type.
Definition at line 540 of file CompilerType.cpp.
References CompilerType(), GetTypedefedType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetChildAtIndex(), lldb_private::FormatManager::GetPossibleMatches(), GetTypedefedType(), lldb_private::TypeImpl::GetTypedefedType(), lldb_private::CPlusPlusLanguage::GetTypeScavenger(), and lldb_private::ObjCLanguage::GetTypeScavenger().
CompilerType CompilerType::GetTypeForFormatters | ( | ) | const |
Definition at line 787 of file CompilerType.cpp.
References CompilerType(), GetTypeForFormatters(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches(), and GetTypeForFormatters().
uint32_t CompilerType::GetTypeInfo | ( | CompilerType * | pointee_or_element_compiler_type = nullptr | ) | const |
Definition at line 344 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CanProvideValue(), DerefToNSErrorPointer(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), DumpValue(), ExtractFields(), lldb_private::ItaniumABILanguageRuntime::FixUpDynamicType(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::GNUstepObjCRuntime::FixUpDynamicType(), FlattenAggregateType(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ValueObject::GetExpressionPath(), lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), ABIMacOSX_arm64::GetReturnValueObjectImpl(), ABISysV_arm64::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectSimple(), ABISysV_ppc::GetReturnValueObjectSimple(), ABISysV_s390x::GetReturnValueObjectSimple(), ABISysV_i386::GetReturnValueObjectSimple(), ABISysV_x86_64::GetReturnValueObjectSimple(), ABIWindows_x86_64::GetReturnValueObjectSimple(), lldb_private::ValueObject::GetTypeInfo(), lldb_private::TypeSystemClang::GetTypeInfo(), lldb_private::ValueObject::GetValueForExpressionPath_Impl(), GetVTableAddress(), lldb_private::ValueObjectPrinter::IsInstancePointer(), lldb_private::ObjCLanguage::IsNilReference(), IsPointerValue(), lldb_private::formatters::NSArraySyntheticFrontEndCreator(), lldb_private::formatters::NSDictionarySyntheticFrontEndCreator(), lldb_private::formatters::NSSetSyntheticFrontEndCreator(), lldb_private::formatters::ObjCBOOLSummaryProvider(), ABIMacOSX_arm64::SetReturnValueObject(), ABISysV_arm64::SetReturnValueObject(), ABISysV_mips64::SetReturnValueObject(), ABISysV_i386::SetReturnValueObject(), and lldb_private::ValueObjectChild::UpdateValue().
ConstString CompilerType::GetTypeName | ( | bool | BaseOnly = false | ) | const |
Definition at line 329 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by PDBASTParser::AddRecordBases(), PDBASTParser::AddRecordMembers(), PDBASTParser::AddRecordMethod(), lldb_private::ClangFunctionCaller::CompileFunction(), DWARFASTParserClang::CompleteRecordType(), lldb_private::ClangASTImporter::DeportType(), lldb_private::Type::GetBaseName(), lldb_private::AppleObjCRuntimeV2::GetByteOffsetForIvar(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetChildAtIndex(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::TypeMemberFunctionImpl::GetDescription(), lldb_private::TypeSystemClang::GetIndexOfChildWithName(), lldb_private::Type::GetName(), lldb_private::TypeImpl::GetName(), lldb_private::TypeAndOrName::GetName(), GetPDBBuiltinTypeName(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::Type::GetQualifiedName(), lldb_private::ValueObject::GetQualifiedTypeName(), lldb_private::ValueObjectChild::GetQualifiedTypeName(), lldb_private::ObjCLanguageRuntime::GetRuntimeType(), lldb_private::ValueObject::GetSyntheticBase(), lldb_private::ObjCLanguageRuntime::GetTypeBitSize(), lldb_private::ValueObject::GetTypeName(), lldb_private::ValueObjectChild::GetTypeName(), lldb_private::ValueObjectConstResult::GetTypeName(), lldb_private::ValueObjectMemory::GetTypeName(), lldb_private::ValueObjectRegister::GetTypeName(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator(), lldb_private::TypeAndOrName::SetCompilerType(), and lldb_private::TypeNameSpecifierImpl::TypeNameSpecifierImpl().
unsigned CompilerType::GetTypeQualifiers | ( | ) | const |
Definition at line 379 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
CompilerType::TypeSystemSPWrapper CompilerType::GetTypeSystem | ( | ) | const |
Accessors.
Returns a shared pointer to the type system. The TypeSystem::TypeSystemSPWrapper can be compared for equality.
Definition at line 996 of file CompilerType.cpp.
References m_type_system.
Referenced by AddConstModifier(), lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), lldb_private::TypeSystemClang::AddFieldToRecordType(), lldb_private::NameSearchContext::AddFunDecl(), lldb_private::TypeSystemClang::AddMethodToObjCObjectType(), lldb_private::TypeSystemClang::AddObjCClassProperty(), AddRestrictModifier(), lldb_private::NameSearchContext::AddVarDecl(), lldb_private::TypeSystemClang::AddVariableToRecordType(), AddVolatileModifier(), lldb_private::TypeSystemClang::AreTypesSame(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::BlockPointerSyntheticFrontEnd(), lldb_private::TypeSystemClang::BuildIndirectFields(), lldb_private::ClangASTImporter::CanImport(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::npdb::SymbolFileNativePDB::CompleteType(), SymbolFileDWARF::CompleteType(), lldb_private::ClangASTImporter::CopyType(), lldb_private::TypeSystemClang::CreateMemberPointerType(), CreateTypedef(), lldb_private::ClangASTImporter::DeportType(), dump(), DumpSummary(), DumpTypeDescription(), lldb_private::TypeSystemClang::DumpTypeName(), DumpTypeValue(), DumpValue(), DWARFASTParserClang::ExtractIntFromFormValue(), ForcefullyCompleteType(), ForEachEnumerator(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeEnumeration(), GetBasicTypeFromAST(), GetBitSize(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetCompleteType(), GetDirectBaseClassAtIndex(), GetDisplayTypeName(), GetEncoding(), GetEnumerationIntegerType(), lldb_private::Type::GetExeModule(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), GetPointeeType(), GetPointerByteSize(), GetPointerType(), ABISysV_x86_64::GetReturnValueObjectImpl(), GetRValueReferenceType(), GetTemplateArgumentKind(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), GetTypeForFormatters(), GetTypeInfo(), GetTypeName(), GetTypeQualifiers(), lldb_private::TypeImpl::GetTypeSystem(), GetTypeTemplateArgument(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetValueOffset(), lldb_private::ClangExpressionDeclMap::GetVariableValue(), GetVirtualBaseClassAtIndex(), lldb_private::ClangASTSource::GuardedCopyType(), SymbolFileDWARF::HasForwardDeclForClangType(), lldb_private::ClangASTImporter::Import(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), lldb_private::ClangUtil::IsClangType(), IsCompleteType(), IsConst(), IsCStringType(), IsDefined(), IsEnumerationType(), IsFloatingPointType(), IsForcefullyCompleted(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsMeaninglessWithoutDynamicResolution(), IsMemberFunctionPointerType(), lldb_private::TypeSystemClang::IsObjCObjectPointerType(), IsPointerOrReferenceType(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsReferenceType(), IsRuntimeGeneratedType(), IsScalarType(), IsScopedEnumerationType(), IsTemplateType(), IsTypedefType(), IsVectorType(), IsVoidType(), lldb_private::operator==(), DWARFASTParserClang::ParseChildMembers(), DWARFASTParserClang::ParseInheritance(), lldb_private::ClangUtil::RemoveFastQualifiers(), lldb_private::TypeSystemClang::RequireCompleteType(), lldb_private::TypeSystemClang::SetIsPacked(), lldb_private::TypeSystemClang::SetObjCSuperClass(), ShouldPrintAsOneLiner(), ShouldTreatScalarValueAsAddress(), lldb_private::formatters::VectorTypeSyntheticFrontEnd::Update(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), lldb_private::formatters::LibCxxUnorderedMapIteratorSyntheticFrontEnd::Update(), NSIndexPathSyntheticFrontEnd::Update(), and Verify().
CompilerType CompilerType::GetTypeTemplateArgument | ( | size_t | idx, |
bool | expand_pack = false |
||
) | const |
Definition at line 770 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), GetTypeTemplateArgument(), IsValid(), and m_type.
Referenced by GetTypeTemplateArgument(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxVariantSummaryProvider(), and lldb_private::formatters::LibCxxUnorderedMapIteratorSyntheticFrontEnd::Update().
bool CompilerType::GetValueAsScalar | ( | const DataExtractor & | data, |
lldb::offset_t | data_offset, | ||
size_t | data_byte_size, | ||
Scalar & | value, | ||
ExecutionContextScope * | exe_scope | ||
) | const |
Definition at line 885 of file CompilerType.cpp.
References lldb_private::Scalar::Clear(), lldb::eEncodingIEEE754, lldb::eEncodingInvalid, lldb::eEncodingSint, lldb::eEncodingUint, lldb::eEncodingVector, GetByteSize(), GetEncoding(), lldb_private::DataExtractor::GetMaxS64(), lldb_private::DataExtractor::GetMaxU64(), lldb_private::DataExtractor::GetU32(), lldb_private::DataExtractor::GetU64(), IsAggregateType(), and IsValid().
Referenced by lldb_private::Value::ResolveValue().
CompilerType CompilerType::GetVirtualBaseClassAtIndex | ( | size_t | idx, |
uint32_t * | bit_offset_ptr | ||
) | const |
Definition at line 663 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), GetVirtualBaseClassAtIndex(), IsValid(), and m_type.
Referenced by GetVirtualBaseClassAtIndex(), and PrivateAutoCompleteMembers().
bool CompilerType::IsAggregateType | ( | ) | const |
Definition at line 32 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType(), DumpValue(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::TypeSystemClang::GetIndexOfChildMemberWithName(), lldb_private::TypeSystemClang::GetIndexOfChildWithName(), lldb_private::TypeSystemClang::GetNumChildren(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_s390x::GetReturnValueObjectImpl(), ABISysV_i386::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), GetValueAsScalar(), and lldb_private::Type::IsAggregateType().
bool CompilerType::IsAnonymousType | ( | ) | const |
Definition at line 39 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::StackFrame::GetValueForVariableExpressionPath().
bool CompilerType::IsArrayOfScalarType | ( | ) | const |
Definition at line 299 of file CompilerType.cpp.
References IsArrayType(), and IsScalarType().
bool CompilerType::IsArrayType | ( | CompilerType * | element_type = nullptr , |
uint64_t * | size = nullptr , |
||
bool * | is_incomplete = nullptr |
||
) | const |
Definition at line 53 of file CompilerType.cpp.
References Clear(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches(), IsArrayOfScalarType(), lldb_private::ValueObject::IsArrayType(), DWARFASTParserClang::ParseSingleMember(), and lldb_private::ValueObject::ReadPointedString().
bool CompilerType::IsBeingDefined | ( | ) | const |
Definition at line 306 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by DWARFASTParserClang::ParseSubroutine().
bool CompilerType::IsBlockPointerType | ( | CompilerType * | function_pointer_type_ptr = nullptr | ) | const |
Definition at line 164 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::BlockPointerSyntheticFrontEnd::BlockPointerSyntheticFrontEnd(), lldb_private::CPlusPlusLanguage::GetHardcodedSummaries(), and lldb_private::CPlusPlusLanguage::GetHardcodedSynthetics().
bool CompilerType::IsCharType | ( | ) | const |
Definition at line 84 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by GetItemFormatForFormat(), lldb_private::ValueObject::IsCStringContainer(), lldb_private::TypeSystemClang::IsCStringType(), and lldb_private::ValueObject::ReadPointedString().
bool CompilerType::IsCompleteType | ( | ) | const |
Definition at line 91 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb::SBType::IsTypeComplete(), DWARFASTParserClang::ParseSingleMember(), lldb_private::ValueObjectSynthetic::UpdateValue(), and lldb_private::ValueObjectSynthetic::ValueObjectSynthetic().
bool CompilerType::IsConst | ( | ) | const |
Definition at line 105 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
bool CompilerType::IsCStringType | ( | uint32_t & | length | ) | const |
Definition at line 112 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
bool CompilerType::IsDefined | ( | ) | const |
Definition at line 239 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by DWARFASTParserClang::ParseTypeFromClangModule(), and lldb_private::Type::ResolveCompilerType().
bool CompilerType::IsEnumerationType | ( | bool & | is_signed | ) | const |
Definition at line 179 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by IsIntegerOrEnumerationType().
bool CompilerType::IsFloatingPointType | ( | uint32_t & | count, |
bool & | is_complex | ||
) | const |
Definition at line 228 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by FlattenAggregateType(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectSimple(), ABIMacOSX_arm::SetReturnValueObject(), ABISysV_arm::SetReturnValueObject(), ABISysV_mips::SetReturnValueObject(), ABISysV_ppc::SetReturnValueObject(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABIMacOSX_i386::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), and ABIWindows_x86_64::SetReturnValueObject().
bool CompilerType::IsForcefullyCompleted | ( | ) | const |
Definition at line 98 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb::SBType::IsTypeComplete().
bool CompilerType::IsFunctionPointerType | ( | ) | const |
Definition at line 150 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::CPlusPlusLanguage::GetHardcodedSummaries().
bool CompilerType::IsFunctionType | ( | ) | const |
Definition at line 119 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
uint32_t CompilerType::IsHomogeneousAggregate | ( | CompilerType * | base_type_ptr | ) | const |
Definition at line 128 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by ABISysV_arm::GetReturnValueObjectImpl(), and LoadValueFromConsecutiveGPRRegisters().
bool CompilerType::IsIntegerOrEnumerationType | ( | bool & | is_signed | ) | const |
Definition at line 186 of file CompilerType.cpp.
References IsEnumerationType(), and IsIntegerType().
Referenced by FlattenAggregateType(), ABIMacOSX_arm64::GetArgumentValues(), ABISysV_arm64::GetArgumentValues(), ABIMacOSX_arm::GetArgumentValues(), ABISysV_arm::GetArgumentValues(), ABISysV_ppc::GetArgumentValues(), ABISysV_ppc64::GetArgumentValues(), ABISysV_s390x::GetArgumentValues(), ABIMacOSX_i386::GetArgumentValues(), ABISysV_i386::GetArgumentValues(), ABISysV_x86_64::GetArgumentValues(), ABIWindows_x86_64::GetArgumentValues(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABIMacOSX_i386::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), DWARFASTParserClang::ParseSingleMember(), DWARFASTParserClang::ParseTemplateDIE(), ABISysV_arc::SetReturnValueObject(), ABIMacOSX_arm::SetReturnValueObject(), ABISysV_arm::SetReturnValueObject(), ABISysV_mips::SetReturnValueObject(), ABISysV_ppc::SetReturnValueObject(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABIMacOSX_i386::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), and ABIWindows_x86_64::SetReturnValueObject().
bool CompilerType::IsIntegerType | ( | bool & | is_signed | ) | const |
Definition at line 172 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), DWARFASTParserClang::CompleteEnumType(), GetItemFormatForFormat(), lldb_private::AppleObjCRuntime::GetObjectDescription(), IsIntegerOrEnumerationType(), lldb_private::ValueObject::IsIntegerType(), and DWARFASTParserClang::ParseEnum().
bool CompilerType::IsMeaninglessWithoutDynamicResolution | ( | ) | const |
Definition at line 801 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches().
bool CompilerType::IsMemberFunctionPointerType | ( | ) | const |
Definition at line 157 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
bool CompilerType::IsPointerOrReferenceType | ( | CompilerType * | pointee_type = nullptr | ) | const |
Definition at line 200 of file CompilerType.cpp.
References Clear(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObjectSynthetic::CreateSynthFilter(), ABIMacOSX_arm64::GetArgumentValues(), ABISysV_arm64::GetArgumentValues(), ABIMacOSX_arm::GetArgumentValues(), ABISysV_arm::GetArgumentValues(), and lldb_private::ValueObject::IsPointerOrReferenceType().
bool CompilerType::IsPointerToScalarType | ( | ) | const |
Definition at line 292 of file CompilerType.cpp.
References GetPointeeType(), IsPointerType(), IsScalarType(), and IsValid().
bool CompilerType::IsPointerType | ( | CompilerType * | pointee_type = nullptr | ) | const |
Definition at line 190 of file CompilerType.cpp.
References Clear(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), FlattenAggregateType(), ABISysV_ppc::GetArgumentValues(), ABISysV_ppc64::GetArgumentValues(), ABISysV_s390x::GetArgumentValues(), ABIMacOSX_i386::GetArgumentValues(), ABISysV_i386::GetArgumentValues(), ABISysV_x86_64::GetArgumentValues(), ABIWindows_x86_64::GetArgumentValues(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::FormatManager::GetPossibleMatches(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABIMacOSX_i386::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), IsPointerToScalarType(), lldb_private::ValueObject::IsPointerType(), ABISysV_arc::SetReturnValueObject(), ABIMacOSX_arm::SetReturnValueObject(), ABISysV_arm::SetReturnValueObject(), ABISysV_mips::SetReturnValueObject(), ABISysV_ppc::SetReturnValueObject(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABIMacOSX_i386::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), ABIWindows_x86_64::SetReturnValueObject(), and lldb_private::FunctionCaller::WriteFunctionArguments().
bool CompilerType::IsPolymorphicClass | ( | ) | const |
Definition at line 246 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
bool CompilerType::IsPossibleDynamicType | ( | CompilerType * | target_type, |
bool | check_cplusplus, | ||
bool | check_objc | ||
) | const |
target_type | Can pass nullptr. |
Definition at line 254 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::AppleObjCRuntime::CouldHaveDynamicValue(), lldb_private::GNUstepObjCRuntime::CouldHaveDynamicValue(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), and lldb_private::ValueObject::IsPossibleDynamicType().
bool CompilerType::IsReferenceType | ( | CompilerType * | pointee_type = nullptr , |
bool * | is_rvalue = nullptr |
||
) | const |
Definition at line 210 of file CompilerType.cpp.
References Clear(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches().
bool CompilerType::IsRuntimeGeneratedType | ( | ) | const |
Definition at line 77 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
bool CompilerType::IsScalarType | ( | ) | const |
Definition at line 264 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by IsArrayOfScalarType(), IsPointerToScalarType(), and lldb_private::ValueObject::IsScalarType().
bool CompilerType::IsScopedEnumerationType | ( | ) | const |
Definition at line 46 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
bool CompilerType::IsTemplateType | ( | ) | const |
Definition at line 271 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::Type::IsTemplateType().
bool CompilerType::IsTypedefType | ( | ) | const |
Definition at line 278 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches(), lldb_private::CPlusPlusLanguage::GetTypeScavenger(), and lldb_private::ObjCLanguage::GetTypeScavenger().
|
inline |
Definition at line 124 of file CompilerType.h.
Referenced by AddConstModifier(), lldb_private::ClangExpressionDeclMap::AddContextClassType(), lldb_private::TypeSystemClang::AddFieldToRecordType(), lldb_private::NameSearchContext::AddFunDecl(), lldb_private::TypeSystemClang::AddMethodToCXXRecordType(), lldb_private::TypeSystemClang::AddMethodToObjCObjectType(), lldb_private::TypeSystemClang::AddObjCClassProperty(), AddRestrictModifier(), lldb_private::NameSearchContext::AddVarDecl(), lldb_private::TypeSystemClang::AddVariableToRecordType(), AddVolatileModifier(), lldb_private::ValueObjectVariable::CalculateNumChildren(), lldb_private::ValueObject::CanProvideValue(), lldb_private::Watchpoint::CaptureWatchedValue(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::TypeSystemClang::CreateArrayType(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::TypeSystemClang::CreateMemberPointerType(), lldb_private::npdb::PdbAstBuilder::CreateRecordType(), lldb_private::ValueObjectSynthetic::CreateSynthFilter(), CreateTypedef(), CommandObjectMemoryRead::DoExecute(), dump(), lldb_private::Type::Dump(), DumpSummary(), DumpTypeDescription(), DumpTypeValue(), DumpValue(), lldb_private::AppleObjCDeclVendor::FinishDecl(), ForEachEnumerator(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeEnumeration(), GetBasicTypeFromAST(), GetBitSize(), lldb_private::ValueObjectVariable::GetByteSize(), GetCanonicalType(), lldb_private::TypeImpl::GetCanonicalType(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetChildAtIndex(), GetChildCompilerTypeAtIndex(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), lldb_private::Value::GetCompilerType(), lldb_private::TypeNameSpecifierImpl::GetCompilerType(), lldb_private::TypeImpl::GetCompilerType(), lldb_private::ValueObjectRegister::GetCompilerTypeImpl(), GetCompleteType(), lldb_private::TypeImpl::GetDereferencedType(), lldb_private::TypeImpl::GetDescription(), lldb_private::Type::GetDescription(), GetDirectBaseClassAtIndex(), lldb::SBType::GetDirectBaseClassAtIndex(), GetDisplayTypeName(), GetEncoding(), GetEnumerationIntegerType(), lldb::SBType::GetEnumMembers(), GetFieldAtIndex(), lldb::SBType::GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), lldb::SBType::GetFunctionReturnType(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetIndexOfChildWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), lldb_private::ThreadPlanAssemblyTracer::GetIntPointerType(), GetLValueReferenceType(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), GetPointeeType(), lldb_private::TypeImpl::GetPointeeType(), GetPointerType(), lldb_private::TypeImpl::GetPointerType(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::TypeImpl::GetReferenceType(), lldb_private::ABI::GetReturnValueObject(), GetRValueReferenceType(), lldb_private::Thread::GetSiginfoValue(), GetTemplateArgumentKind(), lldb::SBType::GetTemplateArgumentType(), lldb::SBTypeNameSpecifier::GetType(), 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_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetValueOffset(), GetVirtualBaseClassAtIndex(), lldb::SBType::GetVirtualBaseClassAtIndex(), lldb_private::TypeAndOrName::HasCompilerType(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), IsCompleteType(), IsConst(), lldb_private::TypeSystemClang::IsCStringType(), IsCStringType(), IsDefined(), IsEnumerationType(), IsFloatingPointType(), IsForcefullyCompleted(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsMeaninglessWithoutDynamicResolution(), IsMemberFunctionPointerType(), IsPointerOrReferenceType(), IsPointerToScalarType(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsReferenceType(), IsRuntimeGeneratedType(), IsScalarType(), IsScopedEnumerationType(), IsTemplateType(), IsTypedefType(), lldb_private::TypeMemberFunctionImpl::IsValid(), lldb_private::TypeImpl::IsValid(), lldb_private::Language::ImageListTypeScavenger::Result::IsValid(), IsVectorType(), IsVoidType(), lldb_private::formatters::LibcxxStdRangesRefViewSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdSpanSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator(), lldb_private::ThreadPlanAssemblyTracer::Log(), lldb_private::ValueObject::MaybeCalculateCompleteType(), lldb_private::ValueObjectPrinter::PrintDecl(), lldb_private::ValueObjectPrinter::PrintValueAndSummaryIfNeeded(), lldb_private::ValueObjectPrinter::PrintValueObject(), PrivateAutoComplete(), lldb_private::Type::ResolveCompilerType(), lldb_private::Value::ResolveValue(), lldb_private::TypeSystemClang::SetObjCSuperClass(), lldb_private::ThreadPlanCallFunction::SetReturnValue(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), ShouldPrintAsOneLiner(), ShouldTreatScalarValueAsAddress(), lldb_private::TypeNameSpecifierImpl::TypeNameSpecifierImpl(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectMemory::ValueObjectMemory(), Verify(), and lldb_private::Watchpoint::Watchpoint().
bool lldb_private::CompilerType::IsVariadicFunctionType | ( | ) | const |
bool CompilerType::IsVectorType | ( | CompilerType * | element_type = nullptr , |
uint64_t * | size = nullptr |
||
) | const |
Definition at line 69 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::CPlusPlusLanguage::GetHardcodedSummaries(), lldb_private::CPlusPlusLanguage::GetHardcodedSynthetics(), ABISysV_arm::GetReturnValueObjectImpl(), and lldb_private::formatters::VectorTypeSyntheticFrontEnd::Update().
bool CompilerType::IsVoidType | ( | ) | const |
Definition at line 285 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), and lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::Update().
|
inlineexplicit |
|
inline |
Definition at line 109 of file CompilerType.h.
References m_type, and m_type_system.
|
inline |
Operators.
Definition at line 103 of file CompilerType.h.
References m_type, and m_type_system.
Referenced by lldb_private::TaggedASTType< C >::operator=().
void CompilerType::SetCompilerType | ( | lldb::TypeSystemWP | type_system, |
lldb::opaque_compiler_type_t | type | ||
) |
Definition at line 367 of file CompilerType.cpp.
References m_type, and m_type_system.
Referenced by lldb_private::TypeSystemClang::GetTypeInfo(), lldb_private::TypeSystemClang::IsArrayType(), lldb_private::TypeSystemClang::IsObjCObjectPointerType(), lldb_private::TypeSystemClang::IsPointerOrReferenceType(), lldb_private::TypeSystemClang::IsPointerType(), lldb_private::TypeSystemClang::IsPossibleDynamicType(), and lldb_private::TypeSystemClang::IsReferenceType().
void CompilerType::SetCompilerType | ( | CompilerType::TypeSystemSPWrapper | type_system, |
lldb::opaque_compiler_type_t | type | ||
) |
Definition at line 373 of file CompilerType.cpp.
References lldb_private::CompilerType::TypeSystemSPWrapper::GetSharedPointer(), m_type, and m_type_system.
LazyBool CompilerType::ShouldPrintAsOneLiner | ( | ValueObject * | valobj | ) | const |
Definition at line 794 of file CompilerType.cpp.
References lldb_private::eLazyBoolCalculate, GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::ShouldPrintAsOneLiner().
bool CompilerType::ShouldTreatScalarValueAsAddress | ( | ) | const |
Definition at line 221 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObjectChild::UpdateValue().
|
private |
If the type is valid, ask the TypeSystem to verify the integrity of the type to catch CompilerTypes that mix and match invalid TypeSystem/Opaque type pairs.
Definition at line 987 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by CompilerType().
|
private |
Definition at line 486 of file CompilerType.h.
Referenced by AddConstModifier(), AddRestrictModifier(), AddVolatileModifier(), Clear(), CreateTypedef(), dump(), DumpSummary(), DumpTypeDescription(), DumpTypeValue(), DumpValue(), ForEachEnumerator(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeEnumeration(), GetBitSize(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetCompleteType(), GetDirectBaseClassAtIndex(), GetDisplayTypeName(), GetEncoding(), GetEnumerationIntegerType(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), GetOpaqueQualType(), GetPointeeType(), GetPointerType(), GetRValueReferenceType(), GetTemplateArgumentKind(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), GetTypeForFormatters(), GetTypeInfo(), GetTypeName(), GetTypeQualifiers(), GetTypeTemplateArgument(), GetVirtualBaseClassAtIndex(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), IsCompleteType(), IsConst(), IsCStringType(), IsDefined(), IsEnumerationType(), IsFloatingPointType(), IsForcefullyCompleted(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsMeaninglessWithoutDynamicResolution(), IsMemberFunctionPointerType(), IsPointerOrReferenceType(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsReferenceType(), IsRuntimeGeneratedType(), IsScalarType(), IsScopedEnumerationType(), IsTemplateType(), IsTypedefType(), IsVectorType(), IsVoidType(), operator bool(), operator<(), operator=(), SetCompilerType(), ShouldPrintAsOneLiner(), ShouldTreatScalarValueAsAddress(), and Verify().
|
private |
Definition at line 485 of file CompilerType.h.
Referenced by Clear(), GetTypeSystem(), operator bool(), operator<(), operator=(), and SetCompilerType().