GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
field Struct Reference

#include "gdbtypes.h"

Public Member Functions

struct typetype () const
 
void set_type (struct type *type)
 
const char * name () const
 
void set_name (const char *name)
 
field_loc_kind loc_kind () const
 
LONGEST loc_bitpos () const
 
void set_loc_bitpos (LONGEST bitpos)
 
LONGEST loc_enumval () const
 
void set_loc_enumval (LONGEST enumval)
 
CORE_ADDR loc_physaddr () const
 
void set_loc_physaddr (CORE_ADDR physaddr)
 
const char * loc_physname () const
 
void set_loc_physname (const char *physname)
 
dwarf2_locexpr_batonloc_dwarf_block () const
 
void set_loc_dwarf_block (dwarf2_locexpr_baton *dwarf_block)
 

Public Attributes

union field_location m_loc
 
unsigned int artificial: 1
 
__extension__ enum field_loc_kind m_loc_kind: 3
 
unsigned int bitsize: 28
 
struct typem_type
 
const char * m_name
 

Detailed Description

Definition at line 557 of file gdbtypes.h.

Member Function Documentation

◆ loc_bitpos()

LONGEST field::loc_bitpos ( ) const
inline

Definition at line 586 of file gdbtypes.h.

References field_location::bitpos, FIELD_LOC_KIND_BITPOS, m_loc, and m_loc_kind.

Referenced by ada_aligned_value_addr(), ada_index_struct_field_1(), ada_search_struct_field(), ada_template_to_fixed_record_type_1(), ada_value_primitive_field(), amd64_classify_aggregate_field(), amd64_has_unaligned_fields(), riscv_struct_info::analyse_inner(), append_composite_type_field_aligned(), arm_return_in_memory(), c_type_print_base_1(), c_type_print_base_struct_union(), c_value_print_struct(), check_types_equal(), compile_cplus_convert_struct_or_union_members(), compute_variant_fields_inner(), convert_field(), convert_struct_or_union(), copy_type_recursive(), cp_find_class_member(), cp_print_value_fields(), desc_bound_bitpos(), dwarf2_add_field(), dynamic_array_type(), expr::array_operation::evaluate_struct_tuple(), fat_pntr_bounds_bitpos(), fat_pntr_data_bitpos(), find_struct_field(), gdbscm_field_bitpos(), gdbscm_field_bitsize(), gen_primitive_field(), gnuv2_baseclass_offset(), lookup_struct_elt(), m2_print_long_set(), m2_print_unbounded_array(), mips_n32n64_fp_arg_chunk_p(), mips_n32n64_return_value(), mips_o32_return_value(), pascal_is_string_type(), pascal_object_print_value_fields(), print_field_values(), quirk_rust_enum(), read_one_struct_field(), recursive_dump_type(), resolve_dynamic_struct(), rust_composite_type(), struct_field_searcher::search(), sparc64_extract_floating_fields(), sparc64_store_floating_fields(), store_regs(), to_record_with_fixed_variant_part(), unpack_field_as_long(), unpack_value_field_as_long(), print_offset_data::update(), val_print_type_code_flags(), value_field_bitfield(), value_primitive_field(), pascal_language::value_print_inner(), value_struct_elt_bitpos(), value_struct_elt_for_reference(), and vtable_address_point_offset().

◆ loc_dwarf_block()

dwarf2_locexpr_baton * field::loc_dwarf_block ( ) const
inline

◆ loc_enumval()

LONGEST field::loc_enumval ( ) const
inline

◆ loc_kind()

field_loc_kind field::loc_kind ( ) const
inline

◆ loc_physaddr()

CORE_ADDR field::loc_physaddr ( ) const
inline

◆ loc_physname()

const char * field::loc_physname ( ) const
inline

◆ name()

const char * field::name ( ) const
inline

Definition at line 569 of file gdbtypes.h.

References m_name.

Referenced by gdb.printing.FlagEnumerationPrinter::__call__(), gdb.disassembler.Disassembler::__init__(), gdb.printing.SubPrettyPrinter::__init__(), gdb.types.TypePrinter::__init__(), gdb.unwinder.Unwinder::__init__(), gdb.xmethod.XMethod::__init__(), gdb.xmethod.XMethodMatcher::__init__(), gdb.printing.PrettyPrinter::__init__(), ada_fixup_array_indexes_type(), ada_get_base_type(), ada_get_field_index(), ada_identical_enum_types_p(), ada_in_variant(), ada_index_struct_field_1(), ada_is_aligner_type(), ada_is_ignored_field(), ada_is_others_clause(), ada_is_parent_field(), ada_is_wrapper_field(), ada_lookup_struct_elt_type(), ada_print_scalar(), ada_search_struct_field(), ada_template_to_fixed_record_type_1(), ada_val_print_enum(), ada_varobj_describe_struct_child(), expr::add_struct_fields(), c_describe_child(), c_is_path_expr_parent(), c_type_print_base_1(), c_type_print_base_struct_union(), check_field(), check_types_equal(), compile_cplus_convert_enum(), compile_cplus_convert_struct_or_union_members(), completion_list_add_fields(), expr::convert_char_literal(), convert_enum(), convert_field(), convert_struct_or_union(), copy_type_recursive(), cp_print_class_member(), cp_print_value_fields(), cplus_describe_child(), dynamic_array_type(), enum_constant_from_type(), expr::array_operation::evaluate_struct_tuple(), f_language::f_type_print_base(), field_alignment(), field_name(), find_struct_field(), gccgo_string_p(), gdbscm_field_name(), gdbscm_type_field(), gdbscm_type_has_field_p(), gen_struct_elt_for_reference(), gen_struct_ref_recursive(), generic_val_print_enum_1(), is_dynamic_field(), lookup_struct_elt(), m2_enum(), m2_is_long_set(), m2_is_unbounded_array(), m2_record_fields(), pascal_is_string_type(), pascal_object_print_value_fields(), print_choices(), rust_language::print_enum(), print_enum_type(), print_field_values(), print_selected_record_field_types(), print_type_scalar(), print_variant_part(), process_structure_scope(), quirk_ada_thick_pointer_struct(), quirk_gcc_member_function_pointer(), quirk_rust_enum(), read_tilde_fields(), recursive_dump_type(), rust_compute_range(), rust_get_trait_object_pointer(), rust_internal_print_type(), rust_print_struct_def(), rust_range_type_p(), rust_slice_type_p(), rust_subscript(), rust_underscore_fields(), struct_field_searcher::search(), set_name(), store_regs(), template_to_static_fixed_type(), pascal_language::type_print_base(), typy_getitem(), typy_has_key(), rust_language::val_print_struct(), val_print_type_code_flags(), f_language::value_print_inner(), value_struct_elt_for_reference(), and vb_match().

◆ set_loc_bitpos()

void field::set_loc_bitpos ( LONGEST  bitpos)
inline

◆ set_loc_dwarf_block()

void field::set_loc_dwarf_block ( dwarf2_locexpr_baton dwarf_block)
inline

◆ set_loc_enumval()

void field::set_loc_enumval ( LONGEST  enumval)
inline

◆ set_loc_physaddr()

void field::set_loc_physaddr ( CORE_ADDR  physaddr)
inline

Definition at line 616 of file gdbtypes.h.

References FIELD_LOC_KIND_PHYSADDR, m_loc, m_loc_kind, and field_location::physaddr.

Referenced by copy_type_recursive().

◆ set_loc_physname()

void field::set_loc_physname ( const char *  physname)
inline

◆ set_name()

void field::set_name ( const char *  name)
inline

◆ set_type()

void field::set_type ( struct type type)
inline

◆ type()

struct type * field::type ( ) const
inline

Definition at line 559 of file gdbtypes.h.

References m_type.

Referenced by aapcs_is_vfp_call_or_return_candidate_1(), ada_aligned_type(), ada_aligned_value_addr(), ada_array_bound_from_type(), ada_fixup_array_indexes_type(), ada_get_base_type(), ada_index_struct_field_1(), ada_is_ignored_field(), ada_is_redundant_index_type_desc(), ada_is_unconstrained_packed_array_type(), ada_is_variant_part(), ada_lookup_struct_elt_type(), ada_parent_type(), ada_print_symbol_signature(), ada_search_struct_field(), ada_template_to_fixed_record_type_1(), ada_value_primitive_field(), ada_varobj_struct_elt(), expr::add_struct_fields(), alloc_rust_variant(), amd64_classify_aggregate_field(), amd64_has_unaligned_fields(), riscv_struct_info::analyse_inner(), arm_return_in_memory(), arm_vfp_cprc_sub_candidate(), build_std_type_info_type(), c_describe_child(), c_get_string(), c_type_print_args(), c_type_print_base_1(), c_type_print_base_struct_union(), c_value_print_struct(), call_function_by_hand_dummy(), check_types_equal(), compare_parameters(), compile_cplus_convert_func(), compile_cplus_convert_struct_or_union_members(), compute_struct_member(), compute_variant_fields_inner(), constrained_packed_array_type(), convert_field(), convert_func(), convert_struct_or_union(), copy_type_recursive(), cp_find_class_member(), cp_print_value_fields(), cp_type_print_method_args(), cplus_describe_child(), decode_packed_array_bitsize(), desc_bound_bitsize(), dwarf2_add_field(), dwarf2_add_member_fn(), dwarf2_compute_name(), dynamic_array_type(), eval_op_m2_high(), eval_op_m2_subscript(), expr::operation::evaluate_funcall(), expr::rust_structop::evaluate_funcall(), expr::array_operation::evaluate_struct_tuple(), f_language::f_type_print_base(), f_language::f_type_print_varspec_suffix(), fat_pntr_bounds_bitsize(), fat_pntr_data_bitsize(), find_oload_champ(), find_struct_field(), fp_register_arg_p(), gccgo_string_p(), gdbscm_field_type(), gen_primitive_field(), gen_static_field(), generate_vla_size(), get_baseclass_offset(), get_gdb_vtable_type(), get_long_set_bounds(), get_symbol_field_type(), gnuv2_baseclass_offset(), gnuv3_baseclass_offset(), gnuv3_dynamic_class(), gnuv3_find_method_in(), gnuv3_pass_by_reference(), i386_16_byte_align_p(), i386_darwin_arg_type_alignment(), i386_reg_struct_return_p(), i386_return_value(), i386_windows_push_dummy_call(), type::index_type(), iq2000_pass_8bytetype_by_address(), is_copy_or_move_constructor_type(), is_dynamic_field(), is_dynamic_type_internal(), is_float_or_hfa_type_recurse(), is_scalar_type_recursive(), lookup_struct_elt(), lookup_struct_elt_type(), m2_is_long_set(), m2_is_long_set_of_type(), m2_is_unbounded_array(), m2_long_set(), m2_print_long_set(), m2_print_unbounded_array(), m2_procedure(), m2_record_fields(), m2_unbounded_array(), m68k_svr4_return_value(), make_array_descriptor(), mips_eabi_return_value(), mips_n32n64_fp_arg_chunk_p(), mips_n32n64_return_value(), mips_o32_return_value(), mips_type_needs_double_align(), mn10300_type_align(), mn10300_use_struct_convention(), nds32_check_calling_use_fpr(), pascal_is_string_type(), pascal_object_print_value_fields(), ppc64_aggregate_candidate(), ppc64_sysv_abi_push_param(), print_array_type(), rust_language::print_enum(), print_field_values(), pascal_language::print_func_args(), print_func_type(), print_go_string(), print_selected_record_field_types(), print_variant_clauses(), print_variant_part(), quirk_ada_thick_pointer(), quirk_ada_thick_pointer_struct(), quirk_gcc_member_function_pointer(), quirk_rust_enum(), rank_one_type_parm_set(), read_baseclasses(), read_fat_string_value(), read_one_struct_field(), read_type(), recognize_bound_expression(), recursive_dump_type(), resolve_dynamic_struct(), resolve_dynamic_union(), riscv_print_one_register_info(), rust_composite_type(), rust_internal_print_type(), rust_print_struct_def(), rust_subscript(), s390_effective_inner_type(), struct_field_searcher::search(), set_type(), sh_treat_as_flt_p(), sh_use_struct_convention(), slot_alignment_is_next_even(), sparc64_16_byte_align_p(), sparc64_extract_floating_fields(), sparc64_store_floating_fields(), static_unwrap_type(), store_regs(), template_to_static_fixed_type(), to_fixed_array_type(), to_fixed_variant_branch_type(), to_record_with_fixed_variant_part(), type_align(), pascal_language::type_print_base(), types_equal(), unpack_field_as_long(), unpack_value_field_as_long(), print_offset_data::update(), v850_eight_byte_align_p(), v850_use_struct_convention(), val_print_type_code_flags(), value_field_bitfield(), value_primitive_field(), f_language::value_print_inner(), pascal_language::value_print_inner(), value_static_field(), value_struct_elt_bitpos(), value_struct_elt_for_reference(), vb_match(), vtable_ptrdiff_type(), and yyparse().

Member Data Documentation

◆ artificial

unsigned int field::artificial

For a function or member type, this is 1 if the argument is marked artificial. Artificial arguments should not be shown to the user. For TYPE_CODE_RANGE it is set if the specific bound is not defined.

Definition at line 653 of file gdbtypes.h.

◆ bitsize

unsigned int field::bitsize

Size of this field, in bits, or zero if not packed. If non-zero in an array type, indicates the element size in bits (used only in Ada at the moment). For an unpacked field, the field's type's length says how many bytes the field occupies.

Definition at line 665 of file gdbtypes.h.

Referenced by type::bit_stride(), and parse_symbol().

◆ m_loc

union field_location field::m_loc

◆ m_loc_kind

__extension__ enum field_loc_kind field::m_loc_kind

◆ m_name

const char* field::m_name

Name of field, value or argument. NULL for range bounds, array domains, and member function arguments.

Definition at line 677 of file gdbtypes.h.

Referenced by name(), and set_name().

◆ m_type

struct type* field::m_type

In a struct or union type, type of this field.

  • In a function or member type, type of this argument.
  • In an array type, the domain-type of the array.

Definition at line 671 of file gdbtypes.h.

Referenced by set_type(), and type().


The documentation for this struct was generated from the following file: