LLDB mainline
lldb_private::TypeSystemFortran Class Reference

#include <TypeSystemFortran.h>

Inheritance diagram for lldb_private::TypeSystemFortran:
[legend]

Public Member Functions

bool isA (const void *ClassID) const override
 TypeSystemFortran ()
 ~TypeSystemFortran ()
ConstString DeclGetName (void *opaque_decl) override
CompilerType GetTypeForDecl (void *opaque_decl) override
ConstString DeclContextGetName (void *opaque_decl_ctx) override
ConstString DeclContextGetScopeQualifiedName (void *opaque_decl_ctx) override
bool DeclContextIsClassMethod (void *opaque_decl_ctx) override
bool DeclContextIsContainedInLookup (void *opaque_decl_ctx, void *other_opaque_decl_ctx) override
lldb::LanguageType DeclContextGetLanguage (void *opaque_decl_ctx) override
bool Verify (lldb::opaque_compiler_type_t type) override
 Verify the integrity of the type to catch CompilerTypes that mix and match invalid TypeSystem/Opaque type pairs.
bool IsArrayType (lldb::opaque_compiler_type_t type, CompilerType *element_type, uint64_t *size, bool *is_incomplete) override
bool IsAggregateType (lldb::opaque_compiler_type_t type) override
bool IsCharType (lldb::opaque_compiler_type_t type) override
bool IsCompleteType (lldb::opaque_compiler_type_t type) override
bool IsDefined (lldb::opaque_compiler_type_t type) override
bool IsFloatingPointType (lldb::opaque_compiler_type_t type) override
bool IsFunctionType (lldb::opaque_compiler_type_t type) override
size_t GetNumberOfFunctionArguments (lldb::opaque_compiler_type_t type) override
CompilerType GetFunctionArgumentAtIndex (lldb::opaque_compiler_type_t type, const size_t index) override
bool IsFunctionPointerType (lldb::opaque_compiler_type_t type) override
bool IsMemberFunctionPointerType (lldb::opaque_compiler_type_t type) override
bool IsMemberDataPointerType (lldb::opaque_compiler_type_t type) override
bool IsBlockPointerType (lldb::opaque_compiler_type_t type, CompilerType *function_pointer_type_ptr) override
bool IsIntegerType (lldb::opaque_compiler_type_t type, bool &is_signed) override
bool IsScopedEnumerationType (lldb::opaque_compiler_type_t type) override
bool IsPossibleDynamicType (lldb::opaque_compiler_type_t type, CompilerType *target_type, bool check_cplusplus, bool check_objc) override
bool IsPointerType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type) override
bool IsScalarType (lldb::opaque_compiler_type_t type) override
bool IsVoidType (lldb::opaque_compiler_type_t type) override
bool CanPassInRegisters (const CompilerType &type) override
bool SupportsLanguage (lldb::LanguageType language) override
llvm::StringRef GetPluginName () override
bool GetCompleteType (lldb::opaque_compiler_type_t type) override
uint32_t GetPointerByteSize () override
CompilerType GetPointerDiffType (bool is_signed) override
CompilerType GetSizeType () override
unsigned GetPtrAuthKey (lldb::opaque_compiler_type_t type) override
unsigned GetPtrAuthDiscriminator (lldb::opaque_compiler_type_t type) override
bool GetPtrAuthAddressDiversity (lldb::opaque_compiler_type_t type) override
ConstString GetTypeName (lldb::opaque_compiler_type_t type, bool BaseOnly) override
ConstString GetDisplayTypeName (lldb::opaque_compiler_type_t type) override
uint32_t GetTypeInfo (lldb::opaque_compiler_type_t type, CompilerType *pointee_or_element_compiler_type) override
lldb::LanguageType GetMinimumLanguage (lldb::opaque_compiler_type_t type) override
lldb::TypeClass GetTypeClass (lldb::opaque_compiler_type_t type) override
CompilerType GetArrayElementType (lldb::opaque_compiler_type_t type, ExecutionContextScope *exe_scope) override
CompilerType GetCanonicalType (lldb::opaque_compiler_type_t type) override
CompilerType GetEnumerationIntegerType (lldb::opaque_compiler_type_t type) override
int GetFunctionArgumentCount (lldb::opaque_compiler_type_t type) override
CompilerType GetFunctionArgumentTypeAtIndex (lldb::opaque_compiler_type_t type, size_t idx) override
CompilerType GetFunctionReturnType (lldb::opaque_compiler_type_t type) override
size_t GetNumMemberFunctions (lldb::opaque_compiler_type_t type) override
TypeMemberFunctionImpl GetMemberFunctionAtIndex (lldb::opaque_compiler_type_t type, size_t idx) override
CompilerType GetPointeeType (lldb::opaque_compiler_type_t type) override
CompilerType GetPointerType (lldb::opaque_compiler_type_t type) override
const llvm::fltSemantics & GetFloatTypeSemantics (size_t byte_size, lldb::Format format) override
llvm::Expected< uint64_t > GetBitSize (lldb::opaque_compiler_type_t type, ExecutionContextScope *exe_scope) override
lldb::Encoding GetEncoding (lldb::opaque_compiler_type_t type) override
lldb::Format GetFormat (lldb::opaque_compiler_type_t type) override
llvm::Expected< uint32_t > GetNumChildren (lldb::opaque_compiler_type_t type, bool omit_empty_base_classes, const ExecutionContext *exe_ctx) override
lldb::BasicType GetBasicTypeEnumeration (lldb::opaque_compiler_type_t type) override
uint32_t GetNumFields (lldb::opaque_compiler_type_t type) override
CompilerType GetFieldAtIndex (lldb::opaque_compiler_type_t type, size_t idx, std::string &name, uint64_t *bit_offset_ptr, uint32_t *bitfield_bit_size_ptr, bool *is_bitfield_ptr) override
uint32_t GetNumDirectBaseClasses (lldb::opaque_compiler_type_t type) override
uint32_t GetNumVirtualBaseClasses (lldb::opaque_compiler_type_t type) override
CompilerType GetDirectBaseClassAtIndex (lldb::opaque_compiler_type_t type, size_t idx, uint32_t *bit_offset_ptr) override
CompilerType GetVirtualBaseClassAtIndex (lldb::opaque_compiler_type_t type, size_t idx, uint32_t *bit_offset_ptr) override
llvm::Expected< CompilerTypeGetDereferencedType (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, std::string &deref_name, uint32_t &deref_byte_size, int32_t &deref_byte_offset, ValueObject *valobj, uint64_t &language_flags) override
llvm::Expected< CompilerTypeGetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, size_t idx, bool transparent_pointers, bool omit_empty_base_classes, bool ignore_array_bounds, std::string &child_name, uint32_t &child_byte_size, int32_t &child_byte_offset, uint32_t &child_bitfield_bit_size, uint32_t &child_bitfield_bit_offset, bool &child_is_base_class, bool &child_is_deref_of_parent, ValueObject *valobj, uint64_t &language_flags) override
llvm::Expected< uint32_t > GetIndexOfChildWithName (lldb::opaque_compiler_type_t type, llvm::StringRef name, bool omit_empty_base_classes) override
size_t GetIndexOfChildMemberWithName (lldb::opaque_compiler_type_t type, llvm::StringRef name, bool omit_empty_base_classes, std::vector< uint32_t > &child_indexes) override
LLVM_DUMP_METHOD void dump (lldb::opaque_compiler_type_t type) const override
 Convenience LLVM-style dump method for use in the debugger only.
bool DumpTypeValue (lldb::opaque_compiler_type_t type, Stream &s, lldb::Format format, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, ExecutionContextScope *exe_scope) override
void DumpTypeDescription (lldb::opaque_compiler_type_t type, lldb::DescriptionLevel level=lldb::eDescriptionLevelFull) override
 Dump the type to stdout.
void DumpTypeDescription (lldb::opaque_compiler_type_t type, Stream &s, lldb::DescriptionLevel level=lldb::eDescriptionLevelFull) override
 Print a description of the type to a stream.
void Dump (llvm::raw_ostream &output, llvm::StringRef filter, bool show_color) override
 Dump a textual representation of the internal TypeSystem state to the given stream.
bool IsRuntimeGeneratedType (lldb::opaque_compiler_type_t type) override
 This is used by Swift.
bool IsPointerOrReferenceType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type) override
unsigned GetTypeQualifiers (lldb::opaque_compiler_type_t type) override
std::optional< size_t > GetTypeBitAlign (lldb::opaque_compiler_type_t type, ExecutionContextScope *exe_scope) override
CompilerType GetBasicTypeFromAST (lldb::BasicType basic_type) override
CompilerType GetBuiltinTypeForEncodingAndBitSize (lldb::Encoding encoding, size_t bit_size) override
bool IsBeingDefined (lldb::opaque_compiler_type_t type) override
bool IsConst (lldb::opaque_compiler_type_t type) override
uint32_t IsHomogeneousAggregate (lldb::opaque_compiler_type_t type, CompilerType *base_type_ptr) override
bool IsPolymorphicClass (lldb::opaque_compiler_type_t type) override
bool IsTypedefType (lldb::opaque_compiler_type_t type) override
CompilerType GetTypedefedType (lldb::opaque_compiler_type_t type) override
bool IsVectorType (lldb::opaque_compiler_type_t type, CompilerType *element_type, uint64_t *size) override
CompilerType GetFullyUnqualifiedType (lldb::opaque_compiler_type_t type) override
CompilerType GetNonReferenceType (lldb::opaque_compiler_type_t type) override
bool IsReferenceType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type, bool *is_rvalue) override
Public Member Functions inherited from lldb_private::TypeSystem
 TypeSystem ()
 ~TypeSystem () override
virtual void Finalize ()
 Free up any resources associated with this TypeSystem.
virtual plugin::dwarf::DWARFASTParserGetDWARFParser ()
virtual PDBASTParserGetPDBParser ()
virtual npdb::PdbAstBuilderGetNativePDBParser ()
virtual ConstString DeclGetMangledName (void *opaque_decl)
virtual CompilerDeclContext DeclGetDeclContext (void *opaque_decl)
virtual CompilerType DeclGetFunctionReturnType (void *opaque_decl)
virtual size_t DeclGetFunctionNumArguments (void *opaque_decl)
virtual CompilerType DeclGetFunctionArgumentType (void *opaque_decl, size_t arg_idx)
virtual std::vector< lldb_private::CompilerContextDeclGetCompilerContext (void *opaque_decl)
virtual Scalar DeclGetConstantValue (void *opaque_decl)
virtual std::vector< CompilerDeclDeclContextFindDeclByName (void *opaque_decl_ctx, ConstString name, const bool ignore_imported_decls)
virtual CompilerDeclContext GetCompilerDeclContextForType (const CompilerType &type)
 Returns the direct parent context of specified type.
virtual std::vector< lldb_private::CompilerContextDeclContextGetCompilerContext (void *opaque_decl_ctx)
virtual bool IsAnonymousType (lldb::opaque_compiler_type_t type)
virtual bool IsEnumerationType (lldb::opaque_compiler_type_t type, bool &is_signed)
virtual bool HasPointerAuthQualifier (lldb::opaque_compiler_type_t type)
virtual bool IsForcefullyCompleted (lldb::opaque_compiler_type_t type)
virtual ConstString GetMangledTypeName (lldb::opaque_compiler_type_t type)
 Defaults to GetTypeName(type).
virtual CompilerType GetArrayType (lldb::opaque_compiler_type_t type, uint64_t size)
virtual CompilerType GetLValueReferenceType (lldb::opaque_compiler_type_t type)
virtual CompilerType GetRValueReferenceType (lldb::opaque_compiler_type_t type)
virtual CompilerType GetAtomicType (lldb::opaque_compiler_type_t type)
virtual CompilerType AddConstModifier (lldb::opaque_compiler_type_t type)
virtual CompilerType AddVolatileModifier (lldb::opaque_compiler_type_t type)
virtual CompilerType AddRestrictModifier (lldb::opaque_compiler_type_t type)
virtual CompilerType AddPtrAuthModifier (lldb::opaque_compiler_type_t type, uint32_t payload)
virtual CompilerType CreateTypedef (lldb::opaque_compiler_type_t type, const char *name, const CompilerDeclContext &decl_ctx, uint32_t opaque_payload)
virtual CompilerType GetBuiltinTypeByName (ConstString name)
virtual void ForEachEnumerator (lldb::opaque_compiler_type_t type, std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const &callback)
virtual CompilerDecl GetStaticFieldWithName (lldb::opaque_compiler_type_t type, llvm::StringRef name)
virtual CompilerType GetDirectNestedTypeWithName (lldb::opaque_compiler_type_t type, llvm::StringRef name)
virtual bool IsTemplateType (lldb::opaque_compiler_type_t type)
virtual size_t GetNumTemplateArguments (lldb::opaque_compiler_type_t type, bool expand_pack)
virtual lldb::TemplateArgumentKind GetTemplateArgumentKind (lldb::opaque_compiler_type_t type, size_t idx, bool expand_pack)
virtual CompilerType GetTypeTemplateArgument (lldb::opaque_compiler_type_t type, size_t idx, bool expand_pack)
virtual std::optional< CompilerType::IntegralTemplateArgumentGetIntegralTemplateArgument (lldb::opaque_compiler_type_t type, size_t idx, bool expand_pack)
virtual bool IsPromotableIntegerType (lldb::opaque_compiler_type_t type)
virtual CompilerType GetPromotedIntegerType (lldb::opaque_compiler_type_t type)
virtual CompilerType CreateGenericFunctionPrototype ()
virtual bool ShouldTreatScalarValueAsAddress (lldb::opaque_compiler_type_t type)
virtual UserExpressionGetUserExpression (llvm::StringRef expr, llvm::StringRef prefix, SourceLanguage language, Expression::ResultType desired_type, const EvaluateExpressionOptions &options, ValueObject *ctx_obj)
virtual FunctionCallerGetFunctionCaller (const CompilerType &return_type, const Address &function_address, const ValueList &arg_value_list, const char *name)
virtual std::unique_ptr< UtilityFunctionCreateUtilityFunction (std::string text, std::string name)
virtual PersistentExpressionStateGetPersistentExpressionState ()
virtual CompilerType GetTypeForFormatters (void *type)
virtual LazyBool ShouldPrintAsOneLiner (void *type, ValueObject *valobj)
virtual bool IsMeaninglessWithoutDynamicResolution (void *type)
virtual std::optional< llvm::json::Value > ReportStatistics ()
SymbolFileGetSymbolFile () const
void SetSymbolFile (SymbolFile *sym_file)
 Bind this TypeSystem to its owning SymbolFile.
bool GetHasForcefullyCompletedTypes () const
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static bool classof (const TypeSystem *ts)
static void Initialize ()
static void Terminate ()
static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Module *module, Target *target)
static LanguageSet GetSupportedLanguagesForTypes ()
static LanguageSet GetSupportedLanguagesForExpressions ()
static llvm::StringRef GetPluginNameStatic ()
Static Public Member Functions inherited from lldb_private::TypeSystem
static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Module *module)
static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Target *target)
static bool SupportsLanguageStatic (lldb::LanguageType language)

Private Member Functions

 TypeSystemFortran (const TypeSystemFortran &)=delete
const TypeSystemFortranoperator= (const TypeSystemFortran &)=delete

Static Private Attributes

static char ID

Additional Inherited Members

Protected Attributes inherited from lldb_private::TypeSystem
bool m_has_forcefully_completed_types = false
 Used for reporting statistics.

Detailed Description

Definition at line 17 of file TypeSystemFortran.h.

Constructor & Destructor Documentation

◆ TypeSystemFortran() [1/2]

TypeSystemFortran::TypeSystemFortran ( )
default

Referenced by operator=(), and TypeSystemFortran().

◆ ~TypeSystemFortran()

TypeSystemFortran::~TypeSystemFortran ( )
default

◆ TypeSystemFortran() [2/2]

lldb_private::TypeSystemFortran::TypeSystemFortran ( const TypeSystemFortran & )
privatedelete

References TypeSystemFortran().

Member Function Documentation

◆ CanPassInRegisters()

bool lldb_private::TypeSystemFortran::CanPassInRegisters ( const CompilerType & type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 157 of file TypeSystemFortran.h.

◆ classof()

bool lldb_private::TypeSystemFortran::classof ( const TypeSystem * ts)
inlinestatic

◆ CreateInstance()

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

Definition at line 38 of file TypeSystemFortran.cpp.

References lldb_private::Language::LanguageIsFortran().

Referenced by Initialize(), and Terminate().

◆ DeclContextGetLanguage()

lldb::LanguageType lldb_private::TypeSystemFortran::DeclContextGetLanguage ( void * opaque_decl_ctx)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 67 of file TypeSystemFortran.h.

References lldb::eLanguageTypeUnknown.

◆ DeclContextGetName()

ConstString lldb_private::TypeSystemFortran::DeclContextGetName ( void * opaque_decl_ctx)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 50 of file TypeSystemFortran.h.

◆ DeclContextGetScopeQualifiedName()

ConstString lldb_private::TypeSystemFortran::DeclContextGetScopeQualifiedName ( void * opaque_decl_ctx)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 54 of file TypeSystemFortran.h.

◆ DeclContextIsClassMethod()

bool lldb_private::TypeSystemFortran::DeclContextIsClassMethod ( void * opaque_decl_ctx)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 58 of file TypeSystemFortran.h.

◆ DeclContextIsContainedInLookup()

bool lldb_private::TypeSystemFortran::DeclContextIsContainedInLookup ( void * opaque_decl_ctx,
void * other_opaque_decl_ctx )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 62 of file TypeSystemFortran.h.

◆ DeclGetName()

ConstString lldb_private::TypeSystemFortran::DeclGetName ( void * opaque_decl)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 42 of file TypeSystemFortran.h.

◆ Dump()

void lldb_private::TypeSystemFortran::Dump ( llvm::raw_ostream & output,
llvm::StringRef filter,
bool show_color )
inlineoverridevirtual

Dump a textual representation of the internal TypeSystem state to the given stream.

This should not modify the state of the TypeSystem if possible.

Parameters
[out]outputStream to dup the AST into.
[in]filterIf empty, dump whole AST. If non-empty, will only dump decls whose names contain filter.
[in]show_colorIf true, prints the AST color-highlighted.

Implements lldb_private::TypeSystem.

Definition at line 405 of file TypeSystemFortran.h.

◆ dump()

LLVM_DUMP_METHOD void lldb_private::TypeSystemFortran::dump ( lldb::opaque_compiler_type_t type) const
inlineoverridevirtual

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

Implements lldb_private::TypeSystem.

Definition at line 371 of file TypeSystemFortran.h.

◆ DumpTypeDescription() [1/2]

void lldb_private::TypeSystemFortran::DumpTypeDescription ( lldb::opaque_compiler_type_t type,
lldb::DescriptionLevel level = lldb::eDescriptionLevelFull )
inlineoverridevirtual

Dump the type to stdout.

Implements lldb_private::TypeSystem.

Definition at line 384 of file TypeSystemFortran.h.

References lldb::eDescriptionLevelFull.

◆ DumpTypeDescription() [2/2]

void lldb_private::TypeSystemFortran::DumpTypeDescription ( lldb::opaque_compiler_type_t type,
Stream & s,
lldb::DescriptionLevel level = lldb::eDescriptionLevelFull )
inlineoverridevirtual

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.

Implements lldb_private::TypeSystem.

Definition at line 392 of file TypeSystemFortran.h.

References lldb::eDescriptionLevelFull.

◆ DumpTypeValue()

bool lldb_private::TypeSystemFortran::DumpTypeValue ( lldb::opaque_compiler_type_t type,
Stream & s,
lldb::Format format,
const DataExtractor & data,
lldb::offset_t data_offset,
size_t data_byte_size,
uint32_t bitfield_bit_size,
uint32_t bitfield_bit_offset,
ExecutionContextScope * exe_scope )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 375 of file TypeSystemFortran.h.

◆ GetArrayElementType()

CompilerType lldb_private::TypeSystemFortran::GetArrayElementType ( lldb::opaque_compiler_type_t type,
ExecutionContextScope * exe_scope )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 222 of file TypeSystemFortran.h.

◆ GetBasicTypeEnumeration()

lldb::BasicType lldb_private::TypeSystemFortran::GetBasicTypeEnumeration ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 299 of file TypeSystemFortran.h.

References lldb::eBasicTypeUnsignedInt.

◆ GetBasicTypeFromAST()

CompilerType lldb_private::TypeSystemFortran::GetBasicTypeFromAST ( lldb::BasicType basic_type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 429 of file TypeSystemFortran.h.

◆ GetBitSize()

llvm::Expected< uint64_t > lldb_private::TypeSystemFortran::GetBitSize ( lldb::opaque_compiler_type_t type,
ExecutionContextScope * exe_scope )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 278 of file TypeSystemFortran.h.

◆ GetBuiltinTypeForEncodingAndBitSize()

CompilerType lldb_private::TypeSystemFortran::GetBuiltinTypeForEncodingAndBitSize ( lldb::Encoding encoding,
size_t bit_size )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 433 of file TypeSystemFortran.h.

◆ GetCanonicalType()

CompilerType lldb_private::TypeSystemFortran::GetCanonicalType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 227 of file TypeSystemFortran.h.

◆ GetChildCompilerTypeAtIndex()

llvm::Expected< CompilerType > lldb_private::TypeSystemFortran::GetChildCompilerTypeAtIndex ( lldb::opaque_compiler_type_t type,
ExecutionContext * exe_ctx,
size_t idx,
bool transparent_pointers,
bool omit_empty_base_classes,
bool ignore_array_bounds,
std::string & child_name,
uint32_t & child_byte_size,
int32_t & child_byte_offset,
uint32_t & child_bitfield_bit_size,
uint32_t & child_bitfield_bit_offset,
bool & child_is_base_class,
bool & child_is_deref_of_parent,
ValueObject * valobj,
uint64_t & language_flags )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 343 of file TypeSystemFortran.h.

◆ GetCompleteType()

bool lldb_private::TypeSystemFortran::GetCompleteType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 168 of file TypeSystemFortran.h.

◆ GetDereferencedType()

llvm::Expected< CompilerType > lldb_private::TypeSystemFortran::GetDereferencedType ( lldb::opaque_compiler_type_t type,
ExecutionContext * exe_ctx,
std::string & deref_name,
uint32_t & deref_byte_size,
int32_t & deref_byte_offset,
ValueObject * valobj,
uint64_t & language_flags )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 336 of file TypeSystemFortran.h.

◆ GetDirectBaseClassAtIndex()

CompilerType lldb_private::TypeSystemFortran::GetDirectBaseClassAtIndex ( lldb::opaque_compiler_type_t type,
size_t idx,
uint32_t * bit_offset_ptr )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 323 of file TypeSystemFortran.h.

◆ GetDisplayTypeName()

ConstString lldb_private::TypeSystemFortran::GetDisplayTypeName ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 201 of file TypeSystemFortran.h.

◆ GetEncoding()

lldb::Encoding lldb_private::TypeSystemFortran::GetEncoding ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 283 of file TypeSystemFortran.h.

References lldb::eEncodingInvalid.

◆ GetEnumerationIntegerType()

CompilerType lldb_private::TypeSystemFortran::GetEnumerationIntegerType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 232 of file TypeSystemFortran.h.

◆ GetFieldAtIndex()

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

Implements lldb_private::TypeSystem.

Definition at line 307 of file TypeSystemFortran.h.

◆ GetFloatTypeSemantics()

const llvm::fltSemantics & lldb_private::TypeSystemFortran::GetFloatTypeSemantics ( size_t byte_size,
lldb::Format format )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 273 of file TypeSystemFortran.h.

◆ GetFormat()

lldb::Format lldb_private::TypeSystemFortran::GetFormat ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 287 of file TypeSystemFortran.h.

References lldb::eFormatDefault.

◆ GetFullyUnqualifiedType()

CompilerType lldb_private::TypeSystemFortran::GetFullyUnqualifiedType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 468 of file TypeSystemFortran.h.

◆ GetFunctionArgumentAtIndex()

CompilerType lldb_private::TypeSystemFortran::GetFunctionArgumentAtIndex ( lldb::opaque_compiler_type_t type,
const size_t index )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 109 of file TypeSystemFortran.h.

◆ GetFunctionArgumentCount()

int lldb_private::TypeSystemFortran::GetFunctionArgumentCount ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 238 of file TypeSystemFortran.h.

◆ GetFunctionArgumentTypeAtIndex()

CompilerType lldb_private::TypeSystemFortran::GetFunctionArgumentTypeAtIndex ( lldb::opaque_compiler_type_t type,
size_t idx )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 242 of file TypeSystemFortran.h.

◆ GetFunctionReturnType()

CompilerType lldb_private::TypeSystemFortran::GetFunctionReturnType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 248 of file TypeSystemFortran.h.

◆ GetIndexOfChildMemberWithName()

size_t lldb_private::TypeSystemFortran::GetIndexOfChildMemberWithName ( lldb::opaque_compiler_type_t type,
llvm::StringRef name,
bool omit_empty_base_classes,
std::vector< uint32_t > & child_indexes )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 362 of file TypeSystemFortran.h.

◆ GetIndexOfChildWithName()

llvm::Expected< uint32_t > lldb_private::TypeSystemFortran::GetIndexOfChildWithName ( lldb::opaque_compiler_type_t type,
llvm::StringRef name,
bool omit_empty_base_classes )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 355 of file TypeSystemFortran.h.

◆ GetMemberFunctionAtIndex()

TypeMemberFunctionImpl lldb_private::TypeSystemFortran::GetMemberFunctionAtIndex ( lldb::opaque_compiler_type_t type,
size_t idx )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 257 of file TypeSystemFortran.h.

◆ GetMinimumLanguage()

lldb::LanguageType lldb_private::TypeSystemFortran::GetMinimumLanguage ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 212 of file TypeSystemFortran.h.

References lldb::eLanguageTypeFortran90.

◆ GetNonReferenceType()

CompilerType lldb_private::TypeSystemFortran::GetNonReferenceType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 472 of file TypeSystemFortran.h.

◆ GetNumberOfFunctionArguments()

size_t lldb_private::TypeSystemFortran::GetNumberOfFunctionArguments ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 105 of file TypeSystemFortran.h.

◆ GetNumChildren()

llvm::Expected< uint32_t > lldb_private::TypeSystemFortran::GetNumChildren ( lldb::opaque_compiler_type_t type,
bool omit_empty_base_classes,
const ExecutionContext * exe_ctx )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 292 of file TypeSystemFortran.h.

◆ GetNumDirectBaseClasses()

uint32_t lldb_private::TypeSystemFortran::GetNumDirectBaseClasses ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 314 of file TypeSystemFortran.h.

◆ GetNumFields()

uint32_t lldb_private::TypeSystemFortran::GetNumFields ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 303 of file TypeSystemFortran.h.

◆ GetNumMemberFunctions()

size_t lldb_private::TypeSystemFortran::GetNumMemberFunctions ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 252 of file TypeSystemFortran.h.

◆ GetNumVirtualBaseClasses()

uint32_t lldb_private::TypeSystemFortran::GetNumVirtualBaseClasses ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 319 of file TypeSystemFortran.h.

◆ GetPluginName()

llvm::StringRef lldb_private::TypeSystemFortran::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 162 of file TypeSystemFortran.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

llvm::StringRef lldb_private::TypeSystemFortran::GetPluginNameStatic ( )
inlinestatic

Definition at line 164 of file TypeSystemFortran.h.

Referenced by GetPluginName(), and Initialize().

◆ GetPointeeType()

CompilerType lldb_private::TypeSystemFortran::GetPointeeType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 262 of file TypeSystemFortran.h.

◆ GetPointerByteSize()

uint32_t lldb_private::TypeSystemFortran::GetPointerByteSize ( )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 174 of file TypeSystemFortran.h.

◆ GetPointerDiffType()

CompilerType lldb_private::TypeSystemFortran::GetPointerDiffType ( bool is_signed)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 176 of file TypeSystemFortran.h.

◆ GetPointerType()

CompilerType lldb_private::TypeSystemFortran::GetPointerType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 266 of file TypeSystemFortran.h.

◆ GetPtrAuthAddressDiversity()

bool lldb_private::TypeSystemFortran::GetPtrAuthAddressDiversity ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 190 of file TypeSystemFortran.h.

◆ GetPtrAuthDiscriminator()

unsigned lldb_private::TypeSystemFortran::GetPtrAuthDiscriminator ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 186 of file TypeSystemFortran.h.

◆ GetPtrAuthKey()

unsigned lldb_private::TypeSystemFortran::GetPtrAuthKey ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 182 of file TypeSystemFortran.h.

◆ GetSizeType()

CompilerType lldb_private::TypeSystemFortran::GetSizeType ( )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 180 of file TypeSystemFortran.h.

◆ GetSupportedLanguagesForExpressions()

LanguageSet TypeSystemFortran::GetSupportedLanguagesForExpressions ( )
static

Definition at line 57 of file TypeSystemFortran.cpp.

References GetSupportedLanguagesForTypes().

Referenced by Initialize().

◆ GetSupportedLanguagesForTypes()

◆ GetTypeBitAlign()

std::optional< size_t > lldb_private::TypeSystemFortran::GetTypeBitAlign ( lldb::opaque_compiler_type_t type,
ExecutionContextScope * exe_scope )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 424 of file TypeSystemFortran.h.

◆ GetTypeClass()

lldb::TypeClass lldb_private::TypeSystemFortran::GetTypeClass ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 216 of file TypeSystemFortran.h.

◆ GetTypedefedType()

CompilerType lldb_private::TypeSystemFortran::GetTypedefedType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 458 of file TypeSystemFortran.h.

◆ GetTypeForDecl()

CompilerType lldb_private::TypeSystemFortran::GetTypeForDecl ( void * opaque_decl)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 44 of file TypeSystemFortran.h.

◆ GetTypeInfo()

uint32_t lldb_private::TypeSystemFortran::GetTypeInfo ( lldb::opaque_compiler_type_t type,
CompilerType * pointee_or_element_compiler_type )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 206 of file TypeSystemFortran.h.

◆ GetTypeName()

ConstString lldb_private::TypeSystemFortran::GetTypeName ( lldb::opaque_compiler_type_t type,
bool BaseOnly )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 196 of file TypeSystemFortran.h.

◆ GetTypeQualifiers()

unsigned lldb_private::TypeSystemFortran::GetTypeQualifiers ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 419 of file TypeSystemFortran.h.

◆ GetVirtualBaseClassAtIndex()

CompilerType lldb_private::TypeSystemFortran::GetVirtualBaseClassAtIndex ( lldb::opaque_compiler_type_t type,
size_t idx,
uint32_t * bit_offset_ptr )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 329 of file TypeSystemFortran.h.

◆ Initialize()

◆ isA()

bool lldb_private::TypeSystemFortran::isA ( const void * ClassID) const
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 23 of file TypeSystemFortran.h.

References ID.

◆ IsAggregateType()

bool lldb_private::TypeSystemFortran::IsAggregateType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 84 of file TypeSystemFortran.h.

◆ IsArrayType()

bool lldb_private::TypeSystemFortran::IsArrayType ( lldb::opaque_compiler_type_t type,
CompilerType * element_type,
uint64_t * size,
bool * is_incomplete )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 78 of file TypeSystemFortran.h.

◆ IsBeingDefined()

bool lldb_private::TypeSystemFortran::IsBeingDefined ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 438 of file TypeSystemFortran.h.

◆ IsBlockPointerType()

bool lldb_private::TypeSystemFortran::IsBlockPointerType ( lldb::opaque_compiler_type_t type,
CompilerType * function_pointer_type_ptr )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 126 of file TypeSystemFortran.h.

◆ IsCharType()

bool lldb_private::TypeSystemFortran::IsCharType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 88 of file TypeSystemFortran.h.

◆ IsCompleteType()

bool lldb_private::TypeSystemFortran::IsCompleteType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 90 of file TypeSystemFortran.h.

◆ IsConst()

bool lldb_private::TypeSystemFortran::IsConst ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 442 of file TypeSystemFortran.h.

◆ IsDefined()

bool lldb_private::TypeSystemFortran::IsDefined ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 94 of file TypeSystemFortran.h.

◆ IsFloatingPointType()

bool lldb_private::TypeSystemFortran::IsFloatingPointType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 96 of file TypeSystemFortran.h.

◆ IsFunctionPointerType()

bool lldb_private::TypeSystemFortran::IsFunctionPointerType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 114 of file TypeSystemFortran.h.

◆ IsFunctionType()

bool lldb_private::TypeSystemFortran::IsFunctionType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 100 of file TypeSystemFortran.h.

◆ IsHomogeneousAggregate()

uint32_t lldb_private::TypeSystemFortran::IsHomogeneousAggregate ( lldb::opaque_compiler_type_t type,
CompilerType * base_type_ptr )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 444 of file TypeSystemFortran.h.

◆ IsIntegerType()

bool lldb_private::TypeSystemFortran::IsIntegerType ( lldb::opaque_compiler_type_t type,
bool & is_signed )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 131 of file TypeSystemFortran.h.

◆ IsMemberDataPointerType()

bool lldb_private::TypeSystemFortran::IsMemberDataPointerType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 122 of file TypeSystemFortran.h.

◆ IsMemberFunctionPointerType()

bool lldb_private::TypeSystemFortran::IsMemberFunctionPointerType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 118 of file TypeSystemFortran.h.

◆ IsPointerOrReferenceType()

bool lldb_private::TypeSystemFortran::IsPointerOrReferenceType ( lldb::opaque_compiler_type_t type,
CompilerType * pointee_type )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 414 of file TypeSystemFortran.h.

◆ IsPointerType()

bool lldb_private::TypeSystemFortran::IsPointerType ( lldb::opaque_compiler_type_t type,
CompilerType * pointee_type )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 146 of file TypeSystemFortran.h.

◆ IsPolymorphicClass()

bool lldb_private::TypeSystemFortran::IsPolymorphicClass ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 449 of file TypeSystemFortran.h.

◆ IsPossibleDynamicType()

bool lldb_private::TypeSystemFortran::IsPossibleDynamicType ( lldb::opaque_compiler_type_t type,
CompilerType * target_type,
bool check_cplusplus,
bool check_objc )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 140 of file TypeSystemFortran.h.

◆ IsReferenceType()

bool lldb_private::TypeSystemFortran::IsReferenceType ( lldb::opaque_compiler_type_t type,
CompilerType * pointee_type,
bool * is_rvalue )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 476 of file TypeSystemFortran.h.

◆ IsRuntimeGeneratedType()

bool lldb_private::TypeSystemFortran::IsRuntimeGeneratedType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

This is used by Swift.

Implements lldb_private::TypeSystem.

Definition at line 409 of file TypeSystemFortran.h.

◆ IsScalarType()

bool lldb_private::TypeSystemFortran::IsScalarType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 151 of file TypeSystemFortran.h.

◆ IsScopedEnumerationType()

bool lldb_private::TypeSystemFortran::IsScopedEnumerationType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 136 of file TypeSystemFortran.h.

◆ IsTypedefType()

bool lldb_private::TypeSystemFortran::IsTypedefType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 453 of file TypeSystemFortran.h.

◆ IsVectorType()

bool lldb_private::TypeSystemFortran::IsVectorType ( lldb::opaque_compiler_type_t type,
CompilerType * element_type,
uint64_t * size )
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 462 of file TypeSystemFortran.h.

◆ IsVoidType()

bool lldb_private::TypeSystemFortran::IsVoidType ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Implements lldb_private::TypeSystem.

Definition at line 155 of file TypeSystemFortran.h.

◆ operator=()

const TypeSystemFortran & lldb_private::TypeSystemFortran::operator= ( const TypeSystemFortran & )
privatedelete

References TypeSystemFortran().

◆ SupportsLanguage()

bool TypeSystemFortran::SupportsLanguage ( lldb::LanguageType language)
overridevirtual

◆ Terminate()

void TypeSystemFortran::Terminate ( )
static

◆ Verify()

bool lldb_private::TypeSystemFortran::Verify ( lldb::opaque_compiler_type_t type)
inlineoverridevirtual

Verify the integrity of the type to catch CompilerTypes that mix and match invalid TypeSystem/Opaque type pairs.

Implements lldb_private::TypeSystem.

Definition at line 75 of file TypeSystemFortran.h.

Member Data Documentation

◆ ID

char TypeSystemFortran::ID
staticprivate

Definition at line 19 of file TypeSystemFortran.h.

Referenced by classof(), and isA().


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