Package ghidra.app.util.bin.format.dwarf
Enum Class DWARFTag
- All Implemented Interfaces:
Serializable
,Comparable<DWARFTag>
,Constable
Identifier/purpose of a DWARF DIE record.
Users of this enum should be tolerant of unknown tag id values. See
DWARFAbbreviation
's tagId.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescription -
Method Summary
Modifier and TypeMethodDescriptionReturns a string that describes what kind of object is specified by theDIEAggregate
.int
getId()
Returns theSymbolType
that corresponds to a DWARF tagboolean
boolean
boolean
Returns true if the children of this DIE are within a new namespace.boolean
Returns true if this DIE defines a structure-like element (class, struct, interface, union).boolean
isType()
name
(int rawTagId) Returns the name of this enum, falling back to the rawTagId value if this enum is the DW_TAG_UNKNOWN value.static DWARFTag
of
(int tagId) static DWARFTag
Returns the enum constant of this class with the specified name.static DWARFTag[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
DW_TAG_array_type
-
DW_TAG_class_type
-
DW_TAG_entry_point
-
DW_TAG_enumeration_type
-
DW_TAG_formal_parameter
-
DW_TAG_imported_declaration
-
DW_TAG_label
-
DW_TAG_lexical_block
-
DW_TAG_member
-
DW_TAG_pointer_type
-
DW_TAG_reference_type
-
DW_TAG_compile_unit
-
DW_TAG_string_type
-
DW_TAG_structure_type
-
DW_TAG_subroutine_type
-
DW_TAG_typedef
-
DW_TAG_union_type
-
DW_TAG_unspecified_parameters
-
DW_TAG_variant
-
DW_TAG_common_block
-
DW_TAG_common_inclusion
-
DW_TAG_inheritance
-
DW_TAG_inlined_subroutine
-
DW_TAG_module
-
DW_TAG_ptr_to_member_type
-
DW_TAG_set_type
-
DW_TAG_subrange_type
-
DW_TAG_with_stmt
-
DW_TAG_access_declaration
-
DW_TAG_base_type
-
DW_TAG_catch_block
-
DW_TAG_const_type
-
DW_TAG_constant
-
DW_TAG_enumerator
-
DW_TAG_file_type
-
DW_TAG_friend
-
DW_TAG_namelist
-
DW_TAG_namelist_item
-
DW_TAG_packed_type
-
DW_TAG_subprogram
-
DW_TAG_template_type_param
-
DW_TAG_template_value_param
-
DW_TAG_thrown_type
-
DW_TAG_try_block
-
DW_TAG_variant_part
-
DW_TAG_variable
-
DW_TAG_volatile_type
-
DW_TAG_dwarf_procedure
-
DW_TAG_restrict_type
-
DW_TAG_interface_type
-
DW_TAG_namespace
-
DW_TAG_imported_module
-
DW_TAG_unspecified_type
-
DW_TAG_partial_unit
-
DW_TAG_imported_unit
-
DW_TAG_mutable_type
-
DW_TAG_condition
-
DW_TAG_type_unit
-
DW_TAG_rvalue_reference_type
-
DW_TAG_template_alias
-
DW_TAG_coarray_type
-
DW_TAG_generic_subrange
-
DW_TAG_dynamic_type
-
DW_TAG_atomic_type
-
DW_TAG_call_site
-
DW_TAG_call_site_parameter
-
DW_TAG_skeleton_unit
-
DW_TAG_immutable_type
-
DW_TAG_lo_user
-
DW_TAG_MIPS_loop
-
DW_TAG_HP_array_descriptor
-
DW_TAG_HP_Bliss_field
-
DW_TAG_HP_Bliss_field_set
-
DW_TAG_format_label
-
DW_TAG_function_template
-
DW_TAG_class_template
-
DW_TAG_GNU_BINCL
-
DW_TAG_GNU_EINCL
-
DW_TAG_GNU_template_template_param
-
DW_TAG_GNU_template_parameter_pack
-
DW_TAG_GNU_formal_parameter_pack
-
DW_TAG_gnu_call_site
-
DW_TAG_gnu_call_site_parameter
-
DW_TAG_APPLE_ptrauth_type
-
DW_TAG_hi_user
-
DW_TAG_UNKNOWN
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-
name
Returns the name of this enum, falling back to the rawTagId value if this enum is the DW_TAG_UNKNOWN value.- Parameters:
rawTagId
- tag id that corresponds to actual tag id found in the DWARF data- Returns:
- string name of this enum
-
getId
public int getId() -
isType
public boolean isType() -
isNamedType
public boolean isNamedType() -
isNameSpaceContainer
public boolean isNameSpaceContainer()Returns true if the children of this DIE are within a new namespace.Ie. Namespaces, subprogram, class, interface, struct, union, enum
- Returns:
- true if the children of this DIE are within a new namespace
-
isStructureType
public boolean isStructureType()Returns true if this DIE defines a structure-like element (class, struct, interface, union).- Returns:
- true if this DIE defines a structure-like element (class, struct, interface, union)
-
isFuncDefType
public boolean isFuncDefType() -
getContainerTypeName
Returns a string that describes what kind of object is specified by theDIEAggregate
.Used to create a name for anonymous types.
- Returns:
- String describing the type of the DIEA.
-
getSymbolType
Returns theSymbolType
that corresponds to a DWARF tagThe mapping between tag type and SymbolType is not exact. There is no matching SymbolType for a DWARF static variable, so "LOCAL_VAR" is used currently.
This mainly is used in constructing a NamespacePath, and the only critical usage there is Namespace vs. Class vs. everything else.
- Returns:
SymbolType
-
of
-