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)
 
bool is_artificial () const
 
void set_is_artificial (bool is_artificial)
 
unsigned int bitsize () const
 
void set_bitsize (unsigned int bitsize)
 
bool is_packed () const
 
bool is_static () const
 
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 m_artificial: 1
 
__extension__ enum field_loc_kind m_loc_kind: 3
 
unsigned int m_bitsize: 28
 
struct typem_type
 
const char * m_name
 

Detailed Description

Definition at line 545 of file gdbtypes.h.

Member Function Documentation

◆ bitsize()

unsigned int field::bitsize ( ) const
inline

Definition at line 577 of file gdbtypes.h.

References m_bitsize.

Referenced by ada_is_any_packed_array_type(), ada_is_unconstrained_packed_array_type(), ada_template_to_fixed_record_type_1(), ada_type_of_array(), ada_value_primitive_field(), ada_value_print_array(), ada_value_ptr_subscript(), ada_value_slice(), ada_value_slice_from_ptr(), ada_value_subscript(), amd64_classify_aggregate_field(), amd64_has_unaligned_fields(), arm_return_in_memory(), type::bit_stride(), c_type_print_base_1(), c_type_print_base_struct_union(), check_types_equal(), compile_cplus_convert_struct_or_union_members(), compute_variant_fields_inner(), convert_field(), convert_struct_or_union(), copy_type_recursive(), cp_print_value_fields(), decode_packed_array_bitsize(), desc_bound_bitsize(), dwarf2_add_field(), expr::ada_funcall_operation::evaluate(), expr::array_operation::evaluate_struct_tuple(), fat_pntr_bounds_bitsize(), fat_pntr_data_bitsize(), find_struct_field(), gen_primitive_field(), m2_record_fields(), parse_symbol(), pascal_object_print_value_fields(), value::primitive_field(), print_array_type(), print_field_values(), read_one_struct_field(), recursive_dump_type(), recursively_update_array_bitsize(), resolve_dynamic_array_or_string_1(), resolve_dynamic_struct(), set_bitsize(), store_regs(), to_fixed_array_type(), pascal_language::type_print_base(), unpack_field_as_long(), unpack_value_field_as_long(), print_offset_data::update(), update_static_array_size(), val_print_packed_array_elements(), val_print_type_code_flags(), value_field_bitfield(), and value_subscript_packed().

◆ is_artificial()

bool field::is_artificial ( ) const
inline

◆ is_packed()

bool field::is_packed ( ) const
inline

◆ is_static()

bool field::is_static ( ) const
inline

◆ loc_bitpos()

LONGEST field::loc_bitpos ( ) const
inline

Definition at line 611 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(), value::primitive_field(), 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(), 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 557 of file gdbtypes.h.

References m_name.

Referenced by gdb.printing.FlagEnumerationPrinter::__call__(), gdb.dap.varref.BaseReference::__init__(), gdb.disassembler.Disassembler::__init__(), gdb.printing.SubPrettyPrinter::__init__(), gdb.types.TypePrinter::__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_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(), amd_dbgapi_register_type_to_gdb_type(), 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(), gdb.dap.varref.BaseReference::to_object(), 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_bitsize()

void field::set_bitsize ( unsigned int bitsize)
inline

◆ set_is_artificial()

void field::set_is_artificial ( bool is_artificial)
inline

◆ 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 641 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 547 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_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(), amd_dbgapi_register_type_to_gdb_type(), 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(), pass_in_v_vfp_candidate(), ppc64_aggregate_candidate(), ppc64_sysv_abi_push_param(), value::primitive_field(), 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_clauses(), print_variant_part(), print_variant_part(), 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(), 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(), 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(), 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

◆ m_artificial

unsigned int field::m_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 678 of file gdbtypes.h.

Referenced by is_artificial(), and set_is_artificial().

◆ m_bitsize

unsigned int field::m_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 690 of file gdbtypes.h.

Referenced by bitsize(), is_packed(), and set_bitsize().

◆ 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 702 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 696 of file gdbtypes.h.

Referenced by set_type(), and type().


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