|
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 |
| unsigned | GetPtrAuthKey () const |
| unsigned | GetPtrAuthDiscriminator () const |
| bool | GetPtrAuthAddressDiversity () 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 | IsDefined () const |
| bool | IsComplexType () const |
| bool | IsFloatingPointType () const |
Returns true for floating point types (including complex floats). | |
| bool | IsRealFloatingPointType () const |
Returns true for non-complex float types. | |
| 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 | IsMemberDataPointerType () 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 | HasPointerAuthQualifier () const |
| std::optional< uint32_t > | GetTargetAddressSpace () const |
| bool | IsInteger () const |
| This is used when you don't care about the signedness of the integer. | |
| bool | IsEnumerationType () const |
| This is used when you don't care about the signedness of the enum. | |
| bool | IsUnscopedEnumerationType () const |
| bool | IsIntegerOrUnscopedEnumerationType () const |
| bool | IsSigned () const |
| bool | IsNullPtrType () const |
| bool | IsBoolean () const |
| bool | IsEnumerationIntegerTypeSigned () const |
| bool | IsScalarOrUnscopedEnumerationType () const |
| bool | IsPromotableIntegerType () const |
| Checks if the type is eligible for integral promotion. | |
| bool | IsPointerToVoid () const |
| bool | IsRecordType () const |
| bool | IsVirtualBase (CompilerType target_base, CompilerType *virtual_base, bool carry_virtual=false) const |
| Checks whether target_base is a virtual base of type (direct or indirect). | |
| bool | IsContextuallyConvertibleToBool () const |
| This may only be defined in TypeSystemClang. | |
| bool | IsBasicType () const |
| std::string | TypeDescription () |
| bool | CompareTypes (CompilerType rhs) const |
| const char * | GetTypeTag () |
| uint32_t | GetNumberOfNonEmptyBaseClasses () |
| Go through the base classes and count non-empty ones. | |
| bool | GetCompleteType () const |
| Type Completion. | |
| size_t | GetPointerByteSize () const |
| AST related queries. | |
| TypeSystemSPWrapper | GetTypeSystem () const |
| Accessors. | |
| template<typename TypeSystemType> | |
| std::shared_ptr< TypeSystemType > | GetTypeSystem () const |
| ConstString | GetTypeName (bool BaseOnly=false) const |
| ConstString | GetDisplayTypeName () const |
| ConstString | GetMangledTypeName () 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. | |
| CompilerType | AddPtrAuthModifier (uint32_t payload) const |
| Return a new CompilerType adds a ptrauth modifier from the given 32-bit opaque payload to this type if this type is valid and the type system supports ptrauth modifiers, else return an invalid type. | |
| CompilerType | AddAddressSpaceModifier (uint32_t address_space) const |
| Return a new CompilerType that qualifies this type with the given target address space if this type is valid and the type system supports target address spaces. | |
| llvm::Expected< uint64_t > | GetByteSize (ExecutionContextScope *exe_scope) const |
| Return the size of the type in bytes. | |
| llvm::Expected< uint64_t > | GetBitSize (ExecutionContextScope *exe_scope) const |
| Return the size of the type in bits. | |
| lldb::Encoding | GetEncoding () const |
| lldb::Format | GetFormat () const |
| std::optional< size_t > | GetTypeBitAlign (ExecutionContextScope *exe_scope) const |
| llvm::Expected< 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 |
| CompilerDecl | GetStaticFieldWithName (llvm::StringRef name) const |
| llvm::Expected< CompilerType > | GetDereferencedType (ExecutionContext *exe_ctx, std::string &deref_name, uint32_t &deref_byte_size, int32_t &deref_byte_offset, ValueObject *valobj, uint64_t &language_flags) const |
| llvm::Expected< 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 |
| llvm::Expected< 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. | |
| CompilerType | GetDirectNestedTypeWithName (llvm::StringRef name) const |
| 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 |
| CompilerType | GetPromotedIntegerType () const |
| If the type is promotable, returns the type promoted to a larger integer type according to the type system rules. | |
| LazyBool | ShouldPrintAsOneLiner (ValueObject *valobj) const |
| bool | IsMeaninglessWithoutDynamicResolution () const |
| LLVM_DUMP_METHOD void | dump () const |
| Dumping types. | |
| 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 | 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 |
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 37 of file CompilerType.h.
| CompilerType::CompilerType | ( | lldb::TypeSystemWP | type_system, |
| lldb::opaque_compiler_type_t | type ) |
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 1220 of file CompilerType.cpp.
References m_type, m_type_system, and Verify().
Referenced by AddConstModifier(), AddPtrAuthModifier(), AddRestrictModifier(), AddVolatileModifier(), CompareTypes(), CompilerType(), CreateTypedef(), ForEachEnumerator(), GetArrayType(), GetAtomicType(), GetCanonicalType(), GetEnumerationIntegerType(), GetFieldAtIndex(), GetFullyUnqualifiedType(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetLValueReferenceType(), GetNonReferenceType(), GetNumberOfNonEmptyBaseClasses(), GetPointeeType(), GetPointerType(), GetPromotedIntegerType(), GetRValueReferenceType(), GetTypedefedType(), GetTypeForFormatters(), GetTypeInfo(), GetTypeTemplateArgument(), IsArrayOfScalarType(), IsArrayType(), IsBlockPointerType(), IsHomogeneousAggregate(), IsPointerOrReferenceType(), IsPointerType(), IsPossibleDynamicType(), IsReferenceType(), IsVariadicFunctionType(), IsVectorType(), IsVirtualBase(), operator<(), operator=(), lldb_private::TaggedASTType< 0 >::TaggedASTType(), lldb_private::TaggedASTType< 0 >::TaggedASTType(), lldb_private::TaggedASTType< 0 >::TaggedASTType(), and lldb_private::TaggedASTType< 0 >::TaggedASTType().
| CompilerType::CompilerType | ( | CompilerType::TypeSystemSPWrapper | type_system, |
| lldb::opaque_compiler_type_t | type ) |
Definition at line 1214 of file CompilerType.cpp.
References m_type, m_type_system, and Verify().
|
inline |
Definition at line 92 of file CompilerType.h.
References CompilerType(), m_type, and m_type_system.
|
default |
Referenced by AddAddressSpaceModifier(), AddConstModifier(), AddPtrAuthModifier(), AddRestrictModifier(), AddVolatileModifier(), CreateTypedef(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeFromAST(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetDereferencedType(), GetDirectBaseClassAtIndex(), GetDirectNestedTypeWithName(), GetEnumerationIntegerType(), GetFieldAtIndex(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetLValueReferenceType(), GetNonReferenceType(), GetPointeeType(), GetPointerType(), GetPromotedIntegerType(), GetRValueReferenceType(), GetTypedefedType(), GetTypeForFormatters(), GetTypeTemplateArgument(), and GetVirtualBaseClassAtIndex().
| CompilerType CompilerType::AddAddressSpaceModifier | ( | uint32_t | address_space | ) | const |
Return a new CompilerType that qualifies this type with the given target address space if this type is valid and the type system supports target address spaces.
Definition at line 706 of file CompilerType.cpp.
References AddAddressSpaceModifier(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddAddressSpaceModifier(), and lldb_private::Type::ResolveCompilerType().
| 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 734 of file CompilerType.cpp.
References AddConstModifier(), CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddConstModifier(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::SymbolFileCTF::CreateModifier(), and lldb_private::Type::ResolveCompilerType().
| CompilerType CompilerType::AddPtrAuthModifier | ( | uint32_t | payload | ) | const |
Return a new CompilerType adds a ptrauth modifier from the given 32-bit opaque payload to this type if this type is valid and the type system supports ptrauth modifiers, else return an invalid type.
Note that this does not check if this type is a pointer.
Definition at line 698 of file CompilerType.cpp.
References AddPtrAuthModifier(), CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddPtrAuthModifier(), 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 748 of file CompilerType.cpp.
References AddRestrictModifier(), CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddRestrictModifier(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::SymbolFileCTF::CreateModifier(), 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 741 of file CompilerType.cpp.
References AddVolatileModifier(), CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AddVolatileModifier(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::SymbolFileCTF::CreateModifier(), and lldb_private::Type::ResolveCompilerType().
|
inline |
Definition at line 558 of file CompilerType.h.
References m_type, and m_type_system.
Referenced by 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(), and lldb_private::TypeSystemClang::IsReferenceType().
| bool CompilerType::CompareTypes | ( | CompilerType | rhs | ) | const |
Definition at line 475 of file CompilerType.cpp.
References CompilerType(), GetFullyUnqualifiedType(), and GetTypeName().
Referenced by lldb_private::dil::Interpreter::ArithmeticConversion(), lldb_private::ValueObject::CastDerivedToBaseType(), lldb_private::dil::Interpreter::EvaluateBinarySubtraction(), IsVirtualBase(), and lldb_private::dil::Interpreter::ValidateComparison().
| 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 755 of file CompilerType.cpp.
References CompilerType(), CompilerType(), CreateTypedef(), GetTypeSystem(), IsValid(), and m_type.
Referenced by PDBASTParser::CreateLLDBTypeFromPDBType(), CreateTypedef(), lldb_private::SymbolFileCTF::CreateTypedef(), lldb_private::npdb::PdbAstBuilderClang::GetOrCreateTypedefType(), 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 1094 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 1080 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::Type::Dump(), 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 1086 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 1066 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::DumpTypeValue(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), and lldb_private::TypeFormatImpl_Format::FormatObject().
| 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 837 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb::SBType::GetEnumMembers(), and lldb_private::dil::LookupEnumValue().
| CompilerType CompilerType::GetArrayElementType | ( | ExecutionContextScope * | exe_scope | ) | const |
Creating related types.
Definition at line 598 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::dil::ArrayToPointerConversion(), and lldb_private::FormatManager::GetPossibleMatches().
| CompilerType CompilerType::GetArrayType | ( | uint64_t | size | ) | const |
Definition at line 606 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches().
| 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 727 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetAtomicType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetAtomicType(), and lldb_private::Type::ResolveCompilerType().
| lldb::BasicType CompilerType::GetBasicTypeEnumeration | ( | ) | const |
Definition at line 830 of file CompilerType.cpp.
References lldb::eBasicTypeInvalid, GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CastToBasicType(), lldb_private::dil::ConversionRank(), IsBasicType(), IsBoolean(), IsNullPtrType(), IsPointerToVoid(), and lldb_private::dil::Interpreter::PromoteSignedInteger().
| CompilerType CompilerType::GetBasicTypeFromAST | ( | lldb::BasicType | basic_type | ) | const |
Create related types using the current type's AST.
Definition at line 774 of file CompilerType.cpp.
References CompilerType(), GetBasicTypeFromAST(), GetTypeSystem(), and IsValid().
Referenced by lldb_private::Process::CallVoidArgVoidPtrReturn(), ProcessFreeBSDKernelCore::DoUpdateThreadList(), GetBasicTypeFromAST(), lldb_private::formatters::GetWCharByteSize(), lldb_private::StackFrame::GuessValueForAddress(), lldb_private::InferiorCallMmap(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::Type::ResolveCompilerType(), and lldb_private::AppleGetItemInfoHandler::SetupGetItemInfoFunction().
| llvm::Expected< uint64_t > CompilerType::GetBitSize | ( | ExecutionContextScope * | exe_scope | ) | const |
Return the size of the type in bits.
Definition at line 783 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::dil::Interpreter::EvaluateBinaryShift(), FlattenAggregateType(), FlattenAggregateType(), ABIMacOSX_arm64::GetArgumentValues(), ABIMacOSX_arm::GetArgumentValues(), ABIMacOSX_i386::GetArgumentValues(), ABISysV_arm64::GetArgumentValues(), ABISysV_arm::GetArgumentValues(), ABISysV_i386::GetArgumentValues(), ABISysV_ppc64::GetArgumentValues(), ABISysV_ppc::GetArgumentValues(), ABISysV_s390x::GetArgumentValues(), ABISysV_x86_64::GetArgumentValues(), ABIWindows_x86_64::GetArgumentValues(), GetByteSize(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABIMacOSX_i386::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), MakeAPValue(), lldb_private::dil::Interpreter::PickIntegerType(), lldb_private::dil::Interpreter::PromoteSignedInteger(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_ppc::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), ABIWindows_x86_64::SetReturnValueObject(), lldb_private::dil::Interpreter::UnaryConversion(), and lldb_private::formatters::MsvcStlVectorBoolSyntheticFrontEnd::Update().
| llvm::Expected< uint64_t > CompilerType::GetByteSize | ( | ExecutionContextScope * | exe_scope | ) | const |
Return the size of the type in bytes.
Definition at line 791 of file CompilerType.cpp.
References GetBitSize().
Referenced by lldb_private::RegisterTypeBuilderClang::BuildBuiltinType(), lldb_private::RegisterTypeBuilderClang::BuildFlagsType(), lldb_private::RegisterTypeBuilderClang::BuildUnionType(), lldb_private::RegisterTypeBuilderClang::BuildVectorType(), CalculateNumChildren(), lldb_private::ValueObject::Cast(), lldb_private::ValueObject::CastToBasicType(), lldb_private::ValueObject::CastToEnumType(), CopyExpressionResult(), lldb_private::ValueObject::CreateValueObjectFromAPInt(), lldb_private::ValueObject::CreateValueObjectFromBool(), lldb_private::ValueObject::CreateValueObjectFromNullptr(), CommandObjectMemoryRead::DoExecute(), ProcessFreeBSDKernelCore::DoUpdateThreadList(), lldb_private::dil::Interpreter::EvaluateBinarySubtraction(), lldb_private::ClassDescriptorV2::iVarsStorage::fill(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::Type::GetByteSize(), lldb_private::ValueObjectConstResult::GetByteSize(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::ValueObject::GetPointeeData(), lldb_private::TypeSystemClang::GetPointerByteSize(), ABIMacOSX_arm64::GetReturnValueObjectImpl(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABISysV_arm64::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectSimple(), ABISysV_i386::GetReturnValueObjectSimple(), ABISysV_loongarch::GetReturnValueObjectSimple(), ABISysV_ppc::GetReturnValueObjectSimple(), ABISysV_riscv::GetReturnValueObjectSimple(), ABISysV_s390x::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(), lldb_private::Value::GetValueByteSize(), lldb_private::formatters::GetWCharByteSize(), LoadValueFromConsecutiveGPRRegisters(), LoadValueFromConsecutiveGPRRegisters(), IRForTarget::MaybeHandleVariable(), DWARFASTParserClang::ParsePointerToMemberType(), lldb_private::ProcessStructReader::ProcessStructReader(), lldb_private::formatters::MsvcStlDequeSyntheticFrontEnd::Update(), lldb_private::dil::Interpreter::VerifyArithmeticCast(), and lldb_private::dil::Interpreter::Visit().
| CompilerType CompilerType::GetCanonicalType | ( | ) | const |
Definition at line 614 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetCanonicalType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::dil::ConversionRank(), lldb_private::dil::Interpreter::EvaluateBinarySubtraction(), GetCanonicalType(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetElementType(), GetInstanceType(), IsRecordType(), PrivateAutoComplete(), PrivateAutoCompleteMembers(), lldb_private::dil::Interpreter::PromoteSignedInteger(), TypeDescription(), and lldb_private::dil::Interpreter::ValidateComparison().
| llvm::Expected< 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 916 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CreateChildAtIndex(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), lldb_private::ValueObject::CreateSyntheticArrayMember(), lldb_private::ValueObjectConstResultImpl::CreateSyntheticArrayMember(), and lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex().
| bool CompilerType::GetCompleteType | ( | ) | const |
Type Completion.
Definition at line 516 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::MicrosoftABIRuntime::GetOffsetToTop(), lldb_private::ObjCLanguageRuntime::GetRuntimeType(), DWARFASTParserClang::ParseSingleMember(), and lldb_private::TypeSystemClang::RequireCompleteType().
| llvm::Expected< CompilerType > CompilerType::GetDereferencedType | ( | ExecutionContext * | exe_ctx, |
| std::string & | deref_name, | ||
| uint32_t & | deref_byte_size, | ||
| int32_t & | deref_byte_offset, | ||
| ValueObject * | valobj, | ||
| uint64_t & | language_flags ) const |
Definition at line 904 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::Dereference().
| CompilerType CompilerType::GetDirectBaseClassAtIndex | ( | size_t | idx, |
| uint32_t * | bit_offset_ptr ) const |
Definition at line 879 of file CompilerType.cpp.
References CompilerType(), GetDirectBaseClassAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetDirectBaseClassAtIndex(), lldb_private::TypeSystemClang::GetDirectBaseClassAtIndex(), GetNumberOfNonEmptyBaseClasses(), IsVirtualBase(), and PrivateAutoCompleteMembers().
| CompilerType CompilerType::GetDirectNestedTypeWithName | ( | llvm::StringRef | name | ) | const |
Definition at line 980 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeImpl::FindDirectNestedType(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetElementType(), and ValueOfAtomic().
| ConstString CompilerType::GetDisplayTypeName | ( | ) | const |
Definition at line 538 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::LibStdcppAtomicSyntheticFrontEnd::ContainerFieldName(), lldb_private::SymbolFileCTF::CreateInteger(), lldb_private::ValueObjectChild::GetDisplayTypeName(), lldb_private::ValueObjectConstResult::GetDisplayTypeName(), lldb_private::ValueObjectDynamicValue::GetDisplayTypeName(), lldb_private::ValueObjectVariable::GetDisplayTypeName(), lldb_private::formatters::LibcxxVariantSummaryProvider(), and lldb_private::formatters::MsvcStlVariantSummaryProvider().
| lldb::Encoding CompilerType::GetEncoding | ( | ) | const |
Definition at line 806 of file CompilerType.cpp.
References lldb::eEncodingInvalid, GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::Type::GetEncoding(), lldb_private::TypeSystemClang::GetEncoding(), GetValueAsScalar(), lldb_private::ValueObject::SetData(), and lldb_private::ValueObject::SetValueFromCString().
| CompilerType CompilerType::GetEnumerationIntegerType | ( | ) | const |
Definition at line 628 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetEnumerationIntegerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetEnumerationIntegerType(), and IsEnumerationIntegerTypeSigned().
| 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 853 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetFieldAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by FlattenAggregateType(), FlattenAggregateType(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetElementType(), lldb::SBType::GetFieldAtIndex(), GetFieldAtIndex(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ProcessFreeBSDKernelCore::PrintUnreadMessage(), PrivateAutoCompleteMembers(), and lldb_private::ProcessStructReader::ProcessStructReader().
| lldb::Format CompilerType::GetFormat | ( | ) | const |
Definition at line 813 of file CompilerType.cpp.
References lldb::eFormatDefault, GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::DumpTypeValue(), lldb_private::Type::GetFormat(), lldb_private::ValueObject::GetValueAsCString(), and lldb_private::Value::GetValueDefaultFormat().
| CompilerType CompilerType::GetFullyUnqualifiedType | ( | ) | const |
Definition at line 621 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetFullyUnqualifiedType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by CompareTypes(), GetFullyUnqualifiedType(), lldb_private::FormatManager::GetPossibleMatches(), and lldb_private::dil::Interpreter::ValidateComparison().
| CompilerType CompilerType::GetFunctionArgumentAtIndex | ( | const size_t | index | ) | const |
Definition at line 159 of file CompilerType.cpp.
References CompilerType(), GetFunctionArgumentAtIndex(), GetTypeSystem(), IsValid(), and m_type.
Referenced by 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 635 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 643 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangFunctionCaller::CompileFunction().
| CompilerType CompilerType::GetFunctionReturnType | ( | ) | const |
Definition at line 651 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by 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".
| child_indexes | returns an index path for the result. |
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 968 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::GetChildMemberWithName(), lldb_private::TypeSystemClang::GetIndexOfChildMemberWithName(), lldb_private::formatters::IsMsvcStlOrdering(), lldb_private::formatters::IsMsvcStlStringType(), and lldb_private::formatters::IsMsvcStlStringViewType().
| llvm::Expected< 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 1054 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::GetIndexOfChildWithName(), and lldb_private::ValueObject::GetIndexOfChildWithName().
| 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 1014 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 713 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetLValueReferenceType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddExpressionVariable(), lldb_private::ClangExpressionDeclMap::AddOneVariable(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::CPPLanguageRuntime::FixUpDynamicType(), GetLValueReferenceType(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::Type::ResolveCompilerType(), and lldb_private::dil::DILParser::ResolveTypeDeclarators().
| ConstString CompilerType::GetMangledTypeName | ( | ) | const |
Definition at line 545 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| TypeMemberFunctionImpl CompilerType::GetMemberFunctionAtIndex | ( | size_t | idx | ) |
Definition at line 667 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| lldb::LanguageType CompilerType::GetMinimumLanguage | ( | ) |
Definition at line 562 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(), lldb_private::ObjCLanguage::GetTypeScavenger(), and lldb_private::ValueObjectVariable::UpdateValue().
| 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 675 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetNonReferenceType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CastBaseToDerivedType(), lldb_private::ValueObject::CastDerivedToBaseType(), lldb_private::formatters::GetDesugaredSmartPointerValue(), GetNonReferenceType(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
| size_t CompilerType::GetNumberOfFunctionArguments | ( | ) | const |
Definition at line 151 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb::SBType::GetFunctionArgumentTypes().
| uint32_t CompilerType::GetNumberOfNonEmptyBaseClasses | ( | ) |
Go through the base classes and count non-empty ones.
Definition at line 500 of file CompilerType.cpp.
References CompilerType(), GetDirectBaseClassAtIndex(), GetNumberOfNonEmptyBaseClasses(), GetNumDirectBaseClasses(), and GetNumFields().
Referenced by GetNumberOfNonEmptyBaseClasses().
| llvm::Expected< uint32_t > CompilerType::GetNumChildren | ( | bool | omit_empty_base_classes, |
| const ExecutionContext * | exe_ctx ) const |
Definition at line 821 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObjectCast::CalculateNumChildren(), lldb_private::ValueObjectChild::CalculateNumChildren(), lldb_private::ValueObjectConstResult::CalculateNumChildren(), lldb_private::ValueObjectDynamicValue::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 864 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by GetNumberOfNonEmptyBaseClasses(), lldb_private::TypeSystemClang::GetNumDirectBaseClasses(), IsVirtualBase(), and PrivateAutoCompleteMembers().
| uint32_t CompilerType::GetNumFields | ( | ) | const |
Definition at line 846 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by FlattenAggregateType(), FlattenAggregateType(), GetNumberOfNonEmptyBaseClasses(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ProcessFreeBSDKernelCore::PrintUnreadMessage(), PrivateAutoCompleteMembers(), and lldb_private::ProcessStructReader::ProcessStructReader().
| size_t CompilerType::GetNumMemberFunctions | ( | ) | const |
Definition at line 659 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 988 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::LibStdcppAtomicSyntheticFrontEnd::ContainerFieldName(), lldb_private::formatters::LibcxxStdSpanSyntheticFrontEndCreator(), lldb_private::formatters::LibStdcppSpanSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdProxyArraySyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxStdSliceArraySyntheticFrontEnd::Update(), and lldb_private::formatters::LibcxxStdValarraySyntheticFrontEnd::Update().
| uint32_t CompilerType::GetNumVirtualBaseClasses | ( | ) | const |
Definition at line 871 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by IsVirtualBase(), and PrivateAutoCompleteMembers().
|
inline |
Definition at line 307 of file CompilerType.h.
References m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType(), lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), lldb_private::ClangExpressionDeclMap::AddExpressionVariable(), lldb_private::ClangExpressionDeclMap::AddOneVariable(), lldb_private::ClangExpressionDeclMap::AddPersistentVariable(), PDBASTParser::AddRecordBases(), PDBASTParser::AddRecordMethod(), lldb_private::TypeSystemClang::AreTypesSame(), DWARFASTParserClang::CompleteRecordType(), lldb_private::ClangASTImporter::CompleteType(), lldb_private::plugin::dwarf::SymbolFileDWARF::CompleteType(), lldb_private::SymbolFileCTF::CompleteType(), DWARFASTParserClang::CompleteTypeFromDWARF(), PDBASTParser::CompleteTypeFromPDB(), PDBASTParser::CompleteTypeFromUDT(), lldb_private::npdb::PdbAstBuilderClang::CreateArrayType(), lldb_private::TypeSystemClang::CreateBlockPointerType(), lldb_private::npdb::PdbAstBuilderClang::CreateEnumType(), lldb_private::npdb::PdbAstBuilderClang::CreateFunctionDecl(), lldb_private::npdb::PdbAstBuilderClang::CreateFunctionType(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::SymbolFileCTF::CreateRecord(), lldb_private::npdb::PdbAstBuilderClang::CreateRecordType(), lldb_private::ClangASTImporter::DeportType(), CommandObjectMemoryRead::DoExecute(), lldb_private::TypeSystemClang::DumpFromSymbolFile(), lldb_private::npdb::PdbAstBuilderClang::GetBasicType(), lldb_private::ClangASTSource::GetCompleteObjCInterface(), lldb_private::MicrosoftABIRuntime::GetOffsetToTopFromAST(), lldb_private::npdb::PdbAstBuilderClang::GetOrCreateMethodDecl(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::ClangUtil::GetQualType(), lldb_private::ObjCLanguageRuntime::GetTypeBitSize(), lldb_private::plugin::dwarf::SymbolFileDWARF::HasForwardDeclForCompilerType(), lldb_private::ClangUtil::IsClangType(), lldb_private::operator==(), DWARFASTParserClang::ParseCXXMethod(), DWARFASTParserClang::ParseInheritance(), and DWARFASTParserClang::ParseStructureLikeDIE().
| 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 682 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CastBaseToDerivedType(), lldb_private::ValueObject::CastDerivedToBaseType(), lldb_private::ValueObject::Dereference(), DerefToNSErrorPointer(), lldb_private::dil::Interpreter::EvaluateBinarySubtraction(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetElementType(), lldb_private::ValueObject::GetExpressionPath(), GetInstanceType(), lldb_private::MicrosoftABIRuntime::GetOffsetToTop(), lldb_private::FormatManager::GetPossibleMatches(), IsPointerToScalarType(), IsPointerToVoid(), lldb_private::ClangExpressionDeclMap::LookUpLldbClass(), lldb_private::ClangExpressionDeclMap::LookUpLldbObjCClass(), PrivateAutoComplete(), TypeHasVTable(), and lldb_private::dil::Interpreter::Visit().
| size_t CompilerType::GetPointerByteSize | ( | ) | const |
AST related queries.
Definition at line 524 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 690 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType(), lldb_private::ValueObject::AddressOf(), lldb_private::ValueObjectConstResultImpl::AddressOf(), lldb_private::dil::ArrayToPointerConversion(), lldb_private::Process::CallVoidArgVoidPtrReturn(), lldb_private::ValueObject::CastBaseToDerivedType(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::SymbolFileCTF::CreateModifier(), lldb_private::ValueObject::CreateValueObjectFromAddress(), CommandObjectMemoryRead::DoExecute(), lldb_private::PlatformWindows::DoLoadImage(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::CPPLanguageRuntime::FixUpDynamicType(), lldb_private::GNUstepObjCRuntime::FixUpDynamicType(), lldb_private::TypeSystemClang::GetPointerByteSize(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::platform_freebsd::PlatformFreeBSD::GetSiginfoType(), lldb_private::platform_linux::PlatformLinux::GetSiginfoType(), lldb_private::platform_netbsd::PlatformNetBSD::GetSiginfoType(), lldb_private::StackFrame::GuessValueForAddress(), lldb_private::InferiorCallMmap(), IRForTarget::MaybeHandleVariable(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::Type::ResolveCompilerType(), lldb_private::dil::DILParser::ResolveTypeDeclarators(), lldb_private::AppleGetItemInfoHandler::SetupGetItemInfoFunction(), lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::Update(), and ValueObjectVTableChild::UpdateValue().
| CompilerType CompilerType::GetPromotedIntegerType | ( | ) | const |
If the type is promotable, returns the type promoted to a larger integer type according to the type system rules.
Definition at line 1028 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetPromotedIntegerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by GetPromotedIntegerType().
| bool CompilerType::GetPtrAuthAddressDiversity | ( | ) | const |
Definition at line 128 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| unsigned CompilerType::GetPtrAuthDiscriminator | ( | ) | const |
Definition at line 121 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| unsigned CompilerType::GetPtrAuthKey | ( | ) | const |
Definition at line 114 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| 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 720 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetRValueReferenceType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::FormatManager::GetPossibleMatches(), GetRValueReferenceType(), and lldb_private::Type::ResolveCompilerType().
| CompilerDecl CompilerType::GetStaticFieldWithName | ( | llvm::StringRef | name | ) | const |
Definition at line 898 of file CompilerType.cpp.
References lldb_private::TypeSystem::GetStaticFieldWithName(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AtomicSharedPtrSummaryProvider(), and lldb_private::formatters::MsvcStlDequeSyntheticFrontEnd::Update().
| std::optional< uint32_t > CompilerType::GetTargetAddressSpace | ( | ) | const |
Definition at line 328 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| TemplateArgumentKind CompilerType::GetTemplateArgumentKind | ( | size_t | idx, |
| bool | expand_pack = false ) const |
Definition at line 997 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 799 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by IRForTarget::MaybeHandleVariable().
| lldb::TypeClass CompilerType::GetTypeClass | ( | ) | const |
Definition at line 569 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by GetTypeTag(), IsComplexType(), IsRecordType(), PrivateAutoComplete(), and TypeHasVTable().
| CompilerType CompilerType::GetTypedefedType | ( | ) | const |
If the current object represents a typedef type, get the underlying type.
Definition at line 764 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetTypedefedType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetElementType(), lldb_private::FormatManager::GetPossibleMatches(), GetTypedefedType(), lldb_private::CPlusPlusLanguage::GetTypeScavenger(), lldb_private::ObjCLanguage::GetTypeScavenger(), and lldb_private::formatters::MsvcStlVariantSummaryProvider().
| CompilerType CompilerType::GetTypeForFormatters | ( | ) | const |
Definition at line 1021 of file CompilerType.cpp.
References CompilerType(), 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 553 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CanProvideValue(), lldb_private::formatters::LibStdcppAtomicSyntheticFrontEnd::ContainerFieldName(), DerefToNSErrorPointer(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), lldb_private::FormatEntity::Formatter::DumpValue(), ExtractFields(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::CPPLanguageRuntime::FixUpDynamicType(), lldb_private::GNUstepObjCRuntime::FixUpDynamicType(), FlattenAggregateType(), FlattenAggregateType(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ValueObject::GetExpressionPath(), ABIMacOSX_arm64::GetReturnValueObjectImpl(), ABISysV_arm64::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectSimple(), ABISysV_i386::GetReturnValueObjectSimple(), ABISysV_loongarch::GetReturnValueObjectSimple(), ABISysV_ppc::GetReturnValueObjectSimple(), ABISysV_riscv::GetReturnValueObjectSimple(), ABISysV_s390x::GetReturnValueObjectSimple(), ABISysV_x86_64::GetReturnValueObjectSimple(), ABIWindows_x86_64::GetReturnValueObjectSimple(), lldb_private::TypeSystemClang::GetTypeInfo(), lldb_private::ValueObject::GetTypeInfo(), GetValueAsScalar(), lldb_private::ValueObject::GetValueForExpressionPath_Impl(), GetVTableAddress(), HasFloatingRepresentation(), lldb_private::dil::HasFloatingRepresentation(), IsEnumerationIntegerTypeSigned(), IsPointerValue(), IsSigned(), lldb_private::formatters::ObjCBOOLSummaryProvider(), ABIMacOSX_arm64::SetReturnValueObject(), ABISysV_arm64::SetReturnValueObject(), ABISysV_i386::SetReturnValueObject(), ABISysV_mips64::SetReturnValueObject(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::dil::Interpreter::VerifyArithmeticCast(), and lldb_private::dil::Interpreter::Visit().
| ConstString CompilerType::GetTypeName | ( | bool | BaseOnly = false | ) | const |
Definition at line 530 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by PDBASTParser::AddRecordBases(), PDBASTParser::AddRecordMembers(), PDBASTParser::AddRecordMethod(), CompareTypes(), lldb_private::ClangFunctionCaller::CompileFunction(), DWARFASTParserClang::CompleteRecordType(), lldb_private::ClangASTImporter::DeportType(), lldb_private::dil::Interpreter::EvaluateBinaryShift(), FindLockedPointeeType(), lldb_private::Type::GetBaseName(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetElementType(), lldb_private::TypeSystemClang::GetIndexOfChildWithName(), lldb_private::Type::GetName(), lldb_private::MicrosoftABIRuntime::GetOffsetToTop(), lldb_private::MicrosoftABIRuntime::GetOffsetToTopFromAST(), 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::ValueObjectRegister::GetTypeName(), DWARFASTParserClang::ParseRustVariantPart(), lldb_private::dil::ResolveTypeByName(), TypeDescription(), TypeHasVTable(), and lldb_private::dil::Interpreter::Visit().
| unsigned CompilerType::GetTypeQualifiers | ( | ) | const |
Definition at line 588 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType().
| 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 1236 of file CompilerType.cpp.
References m_type_system.
Referenced by AddAddressSpaceModifier(), AddConstModifier(), lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), lldb_private::TypeSystemClang::AddFieldToRecordType(), lldb_private::NameSearchContext::AddFunDecl(), lldb_private::TypeSystemClang::AddMethodToObjCObjectType(), lldb_private::TypeSystemClang::AddObjCClassProperty(), lldb_private::ClangExpressionDeclMap::AddOneVariable(), lldb_private::ClangExpressionDeclMap::AddPersistentVariable(), AddPtrAuthModifier(), 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::ValueObject::CastToBasicType(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::npdb::SymbolFileNativePDB::CompleteType(), lldb_private::plugin::dwarf::SymbolFileDWARF::CompleteType(), lldb_private::ClangASTImporter::CopyType(), lldb_private::TypeSystemClang::CreateMemberPointerType(), CreateTypedef(), lldb_private::ClangASTImporter::DeportType(), lldb_private::ClangExpressionDeclMap::DeportType(), dump(), DumpTypeDescription(), DumpTypeDescription(), lldb_private::TypeSystemClang::DumpTypeName(), DumpTypeValue(), DWARFASTParserClang::ExtractIntFromFormValue(), ForEachEnumerator(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeEnumeration(), GetBasicTypeFromAST(), GetBitSize(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetCompleteType(), GetDereferencedType(), GetDirectBaseClassAtIndex(), GetDirectNestedTypeWithName(), GetDisplayTypeName(), GetEncoding(), GetEnumerationIntegerType(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), GetMangledTypeName(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), lldb_private::MicrosoftABIRuntime::GetOffsetToTopFromAST(), lldb_private::MicrosoftABIRuntime::GetOffsetToTopFromRTTI(), GetPointeeType(), GetPointerByteSize(), GetPointerType(), GetPromotedIntegerType(), GetPtrAuthAddressDiversity(), GetPtrAuthDiscriminator(), GetPtrAuthKey(), ABISysV_x86_64::GetReturnValueObjectImpl(), GetRValueReferenceType(), GetStaticFieldWithName(), GetTargetAddressSpace(), GetTemplateArgumentKind(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), GetTypeForFormatters(), GetTypeInfo(), GetTypeName(), GetTypeQualifiers(), GetTypeSystem(), GetTypeTemplateArgument(), lldb_private::ClangExpressionDeclMap::GetVariableValue(), GetVirtualBaseClassAtIndex(), lldb_private::ClangASTSource::GuardedCopyType(), lldb_private::plugin::dwarf::SymbolFileDWARF::HasForwardDeclForCompilerType(), HasPointerAuthQualifier(), lldb_private::ClangASTImporter::Import(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), lldb_private::ClangUtil::IsClangType(), IsCompleteType(), IsConst(), IsDefined(), IsEnumerationType(), IsFloatingPointType(), IsForcefullyCompleted(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsMeaninglessWithoutDynamicResolution(), IsMemberDataPointerType(), IsMemberFunctionPointerType(), lldb_private::TypeSystemClang::IsObjCObjectPointerType(), IsPointerOrReferenceType(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsPromotableIntegerType(), 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(), and Verify().
|
inline |
Definition at line 292 of file CompilerType.h.
References lldb_private::CompilerType::TypeSystemSPWrapper::dyn_cast_or_null(), and GetTypeSystem().
| const char * CompilerType::GetTypeTag | ( | ) |
Definition at line 484 of file CompilerType.cpp.
References GetTypeClass().
| CompilerType CompilerType::GetTypeTemplateArgument | ( | size_t | idx, |
| bool | expand_pack = false ) const |
Definition at line 1004 of file CompilerType.cpp.
References CompilerType(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by AtomicSharedPtrSummaryProvider(), lldb_private::formatters::LibStdcppAtomicSyntheticFrontEnd::ContainerFieldName(), lldb_private::formatters::GetDesugaredSmartPointerValue(), lldb_private::formatters::LibcxxVariantSummaryProvider(), lldb_private::formatters::MsvcStlVariantSummaryProvider(), lldb_private::formatters::LibcxxStdProxyArraySyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxStdSliceArraySyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxStdValarraySyntheticFrontEnd::Update(), lldb_private::formatters::MsvcStlDequeSyntheticFrontEnd::Update(), and ValueOfAtomic().
| 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 1102 of file CompilerType.cpp.
References lldb_private::Scalar::Clear(), lldb::eEncodingIEEE754, lldb::eEncodingInvalid, lldb::eEncodingSint, lldb::eEncodingUint, lldb::eEncodingVector, GetByteSize(), GetEncoding(), lldb_private::GetLog(), lldb_private::DataExtractor::GetMaxS64(), lldb_private::DataExtractor::GetMaxU64(), GetTypeInfo(), lldb_private::DataExtractor::GetU32(), lldb_private::DataExtractor::GetU64(), IsAggregateType(), IsValid(), LLDB_LOG_ERRORV, and lldb_private::Types.
Referenced by lldb_private::Value::ResolveValue().
| CompilerType CompilerType::GetVirtualBaseClassAtIndex | ( | size_t | idx, |
| uint32_t * | bit_offset_ptr ) const |
Definition at line 889 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), GetVirtualBaseClassAtIndex(), IsValid(), and m_type.
Referenced by GetVirtualBaseClassAtIndex(), IsVirtualBase(), and PrivateAutoCompleteMembers().
| bool CompilerType::HasPointerAuthQualifier | ( | ) | const |
Definition at line 321 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| bool CompilerType::IsAggregateType | ( | ) | const |
Definition at line 34 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddContextClassType(), lldb_private::FormatEntity::Formatter::DumpValue(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::TypeSystemClang::GetIndexOfChildMemberWithName(), lldb_private::TypeSystemClang::GetIndexOfChildWithName(), lldb_private::TypeSystemClang::GetNumChildren(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_i386::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_s390x::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), GetValueAsScalar(), and lldb_private::Type::IsAggregateType().
| bool CompilerType::IsAnonymousType | ( | ) | const |
Definition at line 41 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::StackFrame::LegacyGetValueForVariableExpressionPath().
| bool CompilerType::IsArrayOfScalarType | ( | ) | const |
Definition at line 342 of file CompilerType.cpp.
References CompilerType(), IsArrayType(), and IsScalarType().
| bool CompilerType::IsArrayType | ( | CompilerType * | element_type = nullptr, |
| uint64_t * | size = nullptr, | ||
| bool * | is_incomplete = nullptr ) const |
Definition at line 55 of file CompilerType.cpp.
References Clear(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by CharStringSummaryProvider(), lldb_private::ValueObject::GetExpressionPath(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::ValueObject::GetValueAsBool(), IsArrayOfScalarType(), lldb_private::ValueObject::IsArrayType(), IsContextuallyConvertibleToBool(), lldb_private::ValueObject::ReadPointedString(), lldb_private::dil::Interpreter::UnaryConversion(), lldb_private::dil::Interpreter::VerifyCastType(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), and lldb_private::formatters::WCharStringSummaryProvider().
| bool CompilerType::IsBasicType | ( | ) | const |
Definition at line 458 of file CompilerType.cpp.
References lldb::eBasicTypeInvalid, and GetBasicTypeEnumeration().
| bool CompilerType::IsBeingDefined | ( | ) | const |
Definition at line 349 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by DWARFASTParserClang::CompleteRecordType(), and DWARFASTParserClang::CompleteTypeFromDWARF().
| bool CompilerType::IsBlockPointerType | ( | CompilerType * | function_pointer_type_ptr = nullptr | ) | const |
Definition at line 187 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::formatters::BlockPointerSyntheticFrontEnd::BlockPointerSyntheticFrontEnd(), lldb_private::CPlusPlusLanguage::GetHardcodedSummaries(), and lldb_private::CPlusPlusLanguage::GetHardcodedSynthetics().
| bool CompilerType::IsBoolean | ( | ) | const |
Definition at line 382 of file CompilerType.cpp.
References lldb::eBasicTypeBool, and GetBasicTypeEnumeration().
Referenced by lldb_private::ValueObject::CastToBasicType(), lldb_private::formatters::LibStdcppAtomicSyntheticFrontEnd::ContainerFieldName(), lldb_private::ValueObject::SetValueFromInteger(), and lldb_private::dil::Interpreter::VerifyArithmeticCast().
| bool CompilerType::IsCharType | ( | ) | const |
Definition at line 86 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 93 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by ABISysV_arm::GetReturnValueObjectImpl(), lldb::SBType::IsTypeComplete(), and DWARFASTParserClang::ParseSingleMember().
| bool CompilerType::IsComplexType | ( | ) | const |
Definition at line 251 of file CompilerType.cpp.
References GetTypeClass().
Referenced by ABISysV_arm::GetReturnValueObjectImpl(), and IsRealFloatingPointType().
| bool CompilerType::IsConst | ( | ) | const |
Definition at line 107 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| bool CompilerType::IsContextuallyConvertibleToBool | ( | ) | const |
This may only be defined in TypeSystemClang.
Definition at line 453 of file CompilerType.cpp.
References IsArrayType(), IsNullPtrType(), IsPointerType(), IsScalarType(), and IsUnscopedEnumerationType().
Referenced by lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsDefined | ( | ) | const |
Definition at line 268 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by DWARFASTParserClang::ParseTypeFromClangModule().
| bool CompilerType::IsEnumerationIntegerTypeSigned | ( | ) | const |
Definition at line 386 of file CompilerType.cpp.
References GetEnumerationIntegerType(), GetTypeInfo(), and IsValid().
Referenced by lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), lldb_private::ValueObject::CastToEnumType(), and DWARFASTParserClang::CompleteEnumType().
| bool CompilerType::IsEnumerationType | ( | ) | const |
This is used when you don't care about the signedness of the enum.
Definition at line 361 of file CompilerType.cpp.
References IsEnumerationType().
Referenced by IsEnumerationType(), IsIntegerOrEnumerationType(), and IsUnscopedEnumerationType().
Definition at line 202 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::TypeSystemClang::AddEnumerationValueToEnumerationType(), lldb_private::ValueObject::CastToBasicType(), lldb_private::ValueObject::CastToEnumType(), DWARFASTParserClang::CompleteEnumType(), lldb_private::dil::Interpreter::VerifyArithmeticCast(), lldb_private::dil::Interpreter::VerifyCastType(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsFloatingPointType | ( | ) | const |
Returns true for floating point types (including complex floats).
Definition at line 256 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by ABISysV_arm::GetReturnValueObjectImpl(), and IsRealFloatingPointType().
| bool CompilerType::IsForcefullyCompleted | ( | ) | const |
Definition at line 100 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb::SBType::IsTypeComplete().
| bool CompilerType::IsFunctionPointerType | ( | ) | const |
Definition at line 166 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::CPlusPlusLanguage::GetHardcodedSummaries().
| bool CompilerType::IsFunctionType | ( | ) | const |
Definition at line 135 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| uint32_t CompilerType::IsHomogeneousAggregate | ( | CompilerType * | base_type_ptr | ) | const |
Definition at line 144 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by ABISysV_arm::GetReturnValueObjectImpl(), LoadValueFromConsecutiveGPRRegisters(), and LoadValueFromConsecutiveGPRRegisters().
| bool CompilerType::IsInteger | ( | ) | const |
This is used when you don't care about the signedness of the integer.
Definition at line 356 of file CompilerType.cpp.
References IsIntegerType().
Referenced by lldb_private::dil::Interpreter::ArithmeticConversion(), lldb_private::ValueObject::CastToBasicType(), lldb_private::ValueObject::CastToEnumType(), lldb_private::dil::Interpreter::EvaluateBinaryBitwise(), lldb_private::dil::Interpreter::EvaluateBinaryDivision(), lldb_private::dil::Interpreter::EvaluateBinaryRemainder(), lldb_private::dil::Interpreter::EvaluateBinaryShift(), GetNumChildren(), lldb_private::ValueObject::GetValueAsBool(), IsIntegerOrUnscopedEnumerationType(), lldb_private::dil::Interpreter::PromoteSignedInteger(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::dil::Interpreter::UnaryConversion(), lldb_private::dil::VerifyAssignmentTypes(), lldb_private::dil::Interpreter::VerifyCastType(), lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
Definition at line 209 of file CompilerType.cpp.
References IsEnumerationType(), and IsIntegerType().
Referenced by DWARFASTParserClang::CreateStaticMemberVariable(), FlattenAggregateType(), FlattenAggregateType(), ABIMacOSX_arm64::GetArgumentValues(), ABIMacOSX_arm::GetArgumentValues(), ABIMacOSX_i386::GetArgumentValues(), ABISysV_arm64::GetArgumentValues(), ABISysV_arm::GetArgumentValues(), ABISysV_i386::GetArgumentValues(), ABISysV_ppc64::GetArgumentValues(), ABISysV_ppc::GetArgumentValues(), ABISysV_s390x::GetArgumentValues(), ABISysV_x86_64::GetArgumentValues(), ABIWindows_x86_64::GetArgumentValues(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABIMacOSX_i386::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), MakeAPValue(), ABIMacOSX_arm::SetReturnValueObject(), ABIMacOSX_i386::SetReturnValueObject(), ABISysV_arc::SetReturnValueObject(), ABISysV_arm::SetReturnValueObject(), ABISysV_loongarch::SetReturnValueObject(), ABISysV_mips::SetReturnValueObject(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_ppc::SetReturnValueObject(), ABISysV_riscv::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), ABIWindows_x86_64::SetReturnValueObject(), and lldb_private::dil::Interpreter::ValidateComparison().
| bool CompilerType::IsIntegerOrUnscopedEnumerationType | ( | ) | const |
Definition at line 370 of file CompilerType.cpp.
References IsInteger(), and IsUnscopedEnumerationType().
Definition at line 195 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::SymbolFileCTF::CreateInteger(), GetItemFormatForFormat(), lldb_private::AppleObjCRuntime::GetObjectDescription(), IsInteger(), IsIntegerOrEnumerationType(), and lldb_private::ValueObject::IsIntegerType().
| bool CompilerType::IsMeaninglessWithoutDynamicResolution | ( | ) | const |
Definition at line 1042 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches().
| bool CompilerType::IsMemberDataPointerType | ( | ) | const |
Definition at line 180 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| bool CompilerType::IsMemberFunctionPointerType | ( | ) | const |
Definition at line 173 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| bool CompilerType::IsNullPtrType | ( | ) | const |
Definition at line 378 of file CompilerType.cpp.
References lldb::eBasicTypeNullPtr, and GetBasicTypeEnumeration().
Referenced by lldb_private::ValueObject::CastToBasicType(), lldb_private::ValueObject::CreateValueObjectFromNullptr(), lldb_private::ValueObject::GetValueAsBool(), IsContextuallyConvertibleToBool(), lldb_private::dil::Interpreter::ValidateComparison(), lldb_private::dil::Interpreter::VerifyArithmeticCast(), lldb_private::dil::Interpreter::VerifyCastType(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsPointerOrReferenceType | ( | CompilerType * | pointee_type = nullptr | ) | const |
Definition at line 223 of file CompilerType.cpp.
References Clear(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObjectSynthetic::CreateSynthFilter(), ABIMacOSX_arm64::GetArgumentValues(), ABIMacOSX_arm::GetArgumentValues(), ABISysV_arm64::GetArgumentValues(), ABISysV_arm::GetArgumentValues(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetElementType(), lldb_private::MicrosoftABIRuntime::GetOffsetToTop(), lldb_private::CPPLanguageRuntime::GetVTableInfoEntry(), lldb_private::ValueObject::IsPointerOrReferenceType(), and TypeHasVTable().
| bool CompilerType::IsPointerToScalarType | ( | ) | const |
Definition at line 335 of file CompilerType.cpp.
References GetPointeeType(), IsPointerType(), IsScalarType(), and IsValid().
| bool CompilerType::IsPointerToVoid | ( | ) | const |
Definition at line 404 of file CompilerType.cpp.
References lldb::eBasicTypeVoid, GetBasicTypeEnumeration(), GetPointeeType(), IsPointerType(), and IsValid().
Referenced by lldb_private::dil::Interpreter::ValidateComparison(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsPointerType | ( | CompilerType * | pointee_type = nullptr | ) | const |
Definition at line 213 of file CompilerType.cpp.
References Clear(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObject::CastBaseToDerivedType(), lldb_private::ValueObject::CastDerivedToBaseType(), lldb_private::ValueObject::CastToBasicType(), lldb_private::formatters::LibStdcppAtomicSyntheticFrontEnd::ContainerFieldName(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), lldb_private::ValueObjectConstResultImpl::CreateSyntheticArrayMember(), FlattenAggregateType(), FlattenAggregateType(), ABIMacOSX_i386::GetArgumentValues(), ABISysV_i386::GetArgumentValues(), ABISysV_ppc64::GetArgumentValues(), ABISysV_ppc::GetArgumentValues(), ABISysV_s390x::GetArgumentValues(), ABISysV_x86_64::GetArgumentValues(), ABIWindows_x86_64::GetArgumentValues(), lldb_private::ValueObject::GetExpressionPath(), GetInstanceType(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::FormatManager::GetPossibleMatches(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABIMacOSX_i386::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), lldb_private::ValueObject::GetValueAsBool(), IsContextuallyConvertibleToBool(), IsPointerToScalarType(), IsPointerToVoid(), lldb_private::ValueObject::IsPointerType(), ABIMacOSX_arm::SetReturnValueObject(), ABIMacOSX_i386::SetReturnValueObject(), ABISysV_arc::SetReturnValueObject(), ABISysV_arm::SetReturnValueObject(), ABISysV_loongarch::SetReturnValueObject(), ABISysV_mips::SetReturnValueObject(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_ppc::SetReturnValueObject(), ABISysV_riscv::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), ABIWindows_x86_64::SetReturnValueObject(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::dil::Interpreter::ValidateComparison(), lldb_private::dil::Interpreter::VerifyArithmeticCast(), lldb_private::dil::VerifyAssignmentTypes(), lldb_private::dil::Interpreter::VerifyCastType(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), and lldb_private::FunctionCaller::WriteFunctionArguments().
| bool CompilerType::IsPolymorphicClass | ( | ) | const |
Definition at line 275 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by TypeHasVTable().
| bool CompilerType::IsPossibleDynamicType | ( | CompilerType * | target_type, |
| bool | check_cplusplus, | ||
| bool | check_objc ) const |
| target_type | Can pass nullptr. |
Definition at line 283 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::AppleObjCRuntime::CouldHaveDynamicValue(), lldb_private::CPPLanguageRuntime::CouldHaveDynamicValue(), lldb_private::GNUstepObjCRuntime::CouldHaveDynamicValue(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), and lldb_private::ValueObject::IsPossibleDynamicType().
| bool CompilerType::IsPromotableIntegerType | ( | ) | const |
Checks if the type is eligible for integral promotion.
Definition at line 397 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| bool CompilerType::IsRealFloatingPointType | ( | ) | const |
Returns true for non-complex float types.
Definition at line 264 of file CompilerType.cpp.
References IsComplexType(), IsFloatingPointType(), and IsVectorType().
Referenced by ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectSimple(), ABISysV_loongarch::GetReturnValueObjectSimple(), ABISysV_riscv::GetReturnValueObjectSimple(), MakeAPValue(), ABISysV_ppc64::SetReturnValueObject(), ABISysV_ppc::SetReturnValueObject(), ABISysV_s390x::SetReturnValueObject(), ABISysV_x86_64::SetReturnValueObject(), and ABIWindows_x86_64::SetReturnValueObject().
| bool CompilerType::IsRecordType | ( | ) | const |
Definition at line 412 of file CompilerType.cpp.
References GetCanonicalType(), GetTypeClass(), and IsValid().
| bool CompilerType::IsReferenceType | ( | CompilerType * | pointee_type = nullptr, |
| bool * | is_rvalue = nullptr ) const |
Definition at line 233 of file CompilerType.cpp.
References Clear(), CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ClangExpressionDeclMap::AddExpressionVariable(), lldb_private::ValueObject::CastBaseToDerivedType(), lldb_private::ValueObject::CastDerivedToBaseType(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::dil::DILParser::ResolveTypeDeclarators(), lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsRuntimeGeneratedType | ( | ) | const |
Definition at line 79 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
| bool CompilerType::IsScalarOrUnscopedEnumerationType | ( | ) | const |
Definition at line 393 of file CompilerType.cpp.
References IsScalarType(), and IsUnscopedEnumerationType().
Referenced by lldb_private::dil::Interpreter::ValidateComparison().
| bool CompilerType::IsScalarType | ( | ) | const |
Definition at line 293 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::dil::Interpreter::ArithmeticConversion(), lldb_private::ValueObject::CastToBasicType(), lldb_private::dil::Interpreter::EvaluateBinaryAddition(), lldb_private::dil::Interpreter::EvaluateBinaryDivision(), lldb_private::dil::Interpreter::EvaluateBinaryMultiplication(), lldb_private::dil::Interpreter::EvaluateBinarySubtraction(), IsArrayOfScalarType(), IsContextuallyConvertibleToBool(), IsPointerToScalarType(), IsScalarOrUnscopedEnumerationType(), lldb_private::ValueObject::IsScalarType(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::dil::Interpreter::VerifyArithmeticCast(), lldb_private::dil::VerifyAssignmentTypes(), lldb_private::dil::Interpreter::VerifyCastType(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsScopedEnumerationType | ( | ) | const |
Definition at line 48 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by IsUnscopedEnumerationType(), and lldb_private::dil::Interpreter::ValidateComparison().
| bool CompilerType::IsSigned | ( | ) | const |
Definition at line 374 of file CompilerType.cpp.
References GetTypeInfo().
Referenced by lldb_private::dil::Interpreter::ArithmeticConversion(), lldb_private::ValueObject::CastToBasicType(), lldb_private::dil::Interpreter::PromoteSignedInteger(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::dil::Interpreter::UnaryConversion(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsTemplateType | ( | ) | const |
Definition at line 300 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::Type::IsTemplateType().
| bool CompilerType::IsTypedefType | ( | ) | const |
Definition at line 307 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::FormatManager::GetPossibleMatches(), lldb_private::CPlusPlusLanguage::GetTypeScavenger(), lldb_private::ObjCLanguage::GetTypeScavenger(), and lldb_private::formatters::MsvcStlVariantSummaryProvider().
| bool CompilerType::IsUnscopedEnumerationType | ( | ) | const |
Definition at line 366 of file CompilerType.cpp.
References IsEnumerationType(), and IsScopedEnumerationType().
Referenced by lldb_private::ValueObject::GetValueAsBool(), IsContextuallyConvertibleToBool(), IsIntegerOrUnscopedEnumerationType(), IsScalarOrUnscopedEnumerationType(), lldb_private::ValueObject::SetValueFromInteger(), lldb_private::ValueObject::SetValueFromInteger(), and lldb_private::dil::VerifyAssignmentTypes().
|
inline |
Definition at line 120 of file CompilerType.h.
Referenced by AddAddressSpaceModifier(), 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(), AddPtrAuthModifier(), AddRestrictModifier(), lldb_private::NameSearchContext::AddVarDecl(), lldb_private::TypeSystemClang::AddVariableToRecordType(), AddVolatileModifier(), lldb_private::RegisterTypeBuilderClang::BuildBuiltinType(), lldb_private::RegisterTypeBuilderClang::BuildUnionType(), lldb_private::RegisterTypeBuilderClang::BuildVectorType(), lldb_private::ValueObjectVariable::CalculateNumChildren(), lldb_private::ValueObject::CanProvideValue(), lldb_private::ValueObject::CastBaseToDerivedType(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::TypeSystemClang::CreateArrayType(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::TypeSystemClang::CreateMemberPointerType(), lldb_private::npdb::PdbAstBuilderClang::CreateRecordType(), lldb_private::ValueObjectSynthetic::CreateSynthFilter(), CreateTypedef(), CommandObjectMemoryRead::DoExecute(), ProcessFreeBSDKernelCore::DoUpdateThreadList(), dump(), lldb_private::DumpRegisterValue(), DumpTypeDescription(), DumpTypeDescription(), DumpTypeValue(), lldb_private::AppleObjCDeclVendor::FinishDecl(), ForEachEnumerator(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeEnumeration(), GetBasicTypeFromAST(), GetBitSize(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), GetCompleteType(), GetDereferencedType(), lldb::SBType::GetDirectBaseClassAtIndex(), GetDirectBaseClassAtIndex(), GetDirectNestedTypeWithName(), GetDisplayTypeName(), GetEncoding(), GetEnumerationIntegerType(), lldb::SBType::GetEnumMembers(), lldb::SBType::GetFieldAtIndex(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), lldb::SBType::GetFunctionReturnType(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), GetMangledTypeName(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), GetPointeeType(), GetPointerType(), lldb_private::FormatManager::GetPossibleMatches(), GetPromotedIntegerType(), GetPtrAuthAddressDiversity(), GetPtrAuthDiscriminator(), GetPtrAuthKey(), lldb_private::ABI::GetReturnValueObject(), GetRValueReferenceType(), lldb_private::Thread::GetSiginfoValue(), GetStaticFieldWithName(), GetTargetAddressSpace(), GetTemplateArgumentKind(), lldb::SBType::GetTemplateArgumentType(), lldb::SBTypeNameSpecifier::GetType(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), GetTypeForFormatters(), GetTypeInfo(), GetTypeName(), GetTypeQualifiers(), GetTypeTemplateArgument(), lldb_private::Value::GetValueAsData(), GetValueAsScalar(), lldb_private::Value::GetValueDefaultFormat(), lldb::SBType::GetVirtualBaseClassAtIndex(), GetVirtualBaseClassAtIndex(), HasPointerAuthQualifier(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), IsCompleteType(), IsConst(), lldb_private::TypeSystemClang::IsCStringType(), IsDefined(), IsEnumerationIntegerTypeSigned(), IsEnumerationType(), IsFloatingPointType(), IsForcefullyCompleted(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsMeaninglessWithoutDynamicResolution(), IsMemberDataPointerType(), IsMemberFunctionPointerType(), IsPointerOrReferenceType(), IsPointerToScalarType(), IsPointerToVoid(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsPromotableIntegerType(), IsRecordType(), IsReferenceType(), IsRuntimeGeneratedType(), IsScalarType(), IsScopedEnumerationType(), IsTemplateType(), IsTypedefType(), IsVectorType(), IsVoidType(), lldb_private::formatters::LibcxxStdRangesRefViewSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdSpanSyntheticFrontEndCreator(), lldb_private::ThreadPlanAssemblyTracer::Log(), lldb_private::dil::DILParser::ParseTypeId(), PrivateAutoComplete(), lldb_private::Type::ResolveCompilerType(), lldb_private::dil::ResolveTypeByName(), lldb_private::Value::ResolveValue(), lldb_private::TypeSystemClang::SetObjCSuperClass(), ShouldPrintAsOneLiner(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), ShouldTreatScalarValueAsAddress(), lldb_private::TypeNameSpecifierImpl::TypeNameSpecifierImpl(), lldb_private::formatters::MsvcStlVectorBoolSyntheticFrontEnd::Update(), lldb_private::ValueObjectVariable::UpdateValue(), Verify(), lldb_private::dil::Interpreter::Visit(), and lldb_private::Watchpoint::Watchpoint().
| bool lldb_private::CompilerType::IsVariadicFunctionType | ( | ) | const |
References CompilerType().
| bool CompilerType::IsVectorType | ( | CompilerType * | element_type = nullptr, |
| uint64_t * | size = nullptr ) const |
Definition at line 71 of file CompilerType.cpp.
References CompilerType(), GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::CPlusPlusLanguage::GetHardcodedSummaries(), lldb_private::CPlusPlusLanguage::GetHardcodedSynthetics(), ABISysV_arm::GetReturnValueObjectImpl(), IsRealFloatingPointType(), lldb_private::formatters::VectorTypeSyntheticFrontEnd::Update(), and lldb_private::dil::Interpreter::Visit().
| bool CompilerType::IsVirtualBase | ( | CompilerType | target_base, |
| CompilerType * | virtual_base, | ||
| bool | carry_virtual = false ) const |
Checks whether target_base is a virtual base of type (direct or indirect).
If it is, stores the first virtual base type on the path from type to target_type. Parameter "virtual_base" is where the first virtual base type gets stored. Parameter "carry_virtual" is used to denote that we're in a recursive check of virtual base classes and we have already seen a virtual base class (so should only check direct base classes). Note: This may only be defined in TypeSystemClang.
Definition at line 421 of file CompilerType.cpp.
References CompareTypes(), CompilerType(), GetDirectBaseClassAtIndex(), GetNumDirectBaseClasses(), GetNumVirtualBaseClasses(), and GetVirtualBaseClassAtIndex().
| bool CompilerType::IsVoidType | ( | ) | const |
Definition at line 314 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 105 of file CompilerType.h.
References CompilerType(), m_type, and m_type_system.
|
inline |
Operators.
Definition at line 99 of file CompilerType.h.
References CompilerType(), m_type, and m_type_system.
Referenced by lldb_private::TaggedASTType< 0 >::operator=().
| void CompilerType::SetCompilerType | ( | lldb::TypeSystemWP | type_system, |
| lldb::opaque_compiler_type_t | type ) |
Definition at line 576 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 582 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 1035 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 244 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by lldb_private::ValueObjectChild::UpdateValue().
| std::string CompilerType::TypeDescription | ( | ) |
Definition at line 462 of file CompilerType.cpp.
References GetCanonicalType(), and GetTypeName().
Referenced by lldb_private::ValueObject::CastBaseToDerivedType(), lldb_private::dil::DILParser::ResolveTypeDeclarators(), lldb_private::dil::Interpreter::VerifyArithmeticCast(), lldb_private::dil::VerifyAssignmentTypes(), lldb_private::dil::Interpreter::VerifyCastType(), lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
|
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 1227 of file CompilerType.cpp.
References GetTypeSystem(), IsValid(), and m_type.
Referenced by CompilerType(), and CompilerType().
|
private |
Definition at line 572 of file CompilerType.h.
Referenced by AddAddressSpaceModifier(), AddConstModifier(), AddPtrAuthModifier(), AddRestrictModifier(), AddVolatileModifier(), Clear(), CompilerType(), CompilerType(), CompilerType(), CreateTypedef(), dump(), DumpTypeDescription(), DumpTypeDescription(), DumpTypeValue(), ForEachEnumerator(), GetArrayElementType(), GetArrayType(), GetAtomicType(), GetBasicTypeEnumeration(), GetBitSize(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetCompleteType(), GetDereferencedType(), GetDirectBaseClassAtIndex(), GetDirectNestedTypeWithName(), GetDisplayTypeName(), GetEncoding(), GetEnumerationIntegerType(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), GetMangledTypeName(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumChildren(), GetNumDirectBaseClasses(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetNumVirtualBaseClasses(), GetOpaqueQualType(), GetPointeeType(), GetPointerType(), GetPromotedIntegerType(), GetPtrAuthAddressDiversity(), GetPtrAuthDiscriminator(), GetPtrAuthKey(), GetRValueReferenceType(), GetStaticFieldWithName(), GetTargetAddressSpace(), GetTemplateArgumentKind(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), GetTypeForFormatters(), GetTypeInfo(), GetTypeName(), GetTypeQualifiers(), GetTypeTemplateArgument(), GetVirtualBaseClassAtIndex(), HasPointerAuthQualifier(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), IsCompleteType(), IsConst(), IsDefined(), IsEnumerationType(), IsFloatingPointType(), IsForcefullyCompleted(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsMeaninglessWithoutDynamicResolution(), IsMemberDataPointerType(), IsMemberFunctionPointerType(), IsPointerOrReferenceType(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsPromotableIntegerType(), IsReferenceType(), IsRuntimeGeneratedType(), IsScalarType(), IsScopedEnumerationType(), IsTemplateType(), IsTypedefType(), IsVectorType(), IsVoidType(), operator bool(), operator<(), operator=(), SetCompilerType(), SetCompilerType(), ShouldPrintAsOneLiner(), ShouldTreatScalarValueAsAddress(), and Verify().
|
private |
Definition at line 571 of file CompilerType.h.
Referenced by Clear(), CompilerType(), CompilerType(), CompilerType(), GetTypeSystem(), operator bool(), operator<(), operator=(), SetCompilerType(), and SetCompilerType().