=== 6.14.1.1 The field_debug_info Structure === The **field_debug_info** structure describes a field in a class. It can describe either an instance field, a static field, or a constant (primitive final static) field. The contents union will have the form of a **token_var** if the field is an instance field, a **location_var** if it is a static field, or a **const_value** if it is a constant. The **field_debug_info** structure is defined as follows: The items in the **field_debug_info** structure are defined as follows: **name_index** Contains an index into the ****strings_table[]**** item of the **debug_component** structure. The ****strings_table[]**** entry at the indexed location must be the simple (meaning, not fully-qualified) name of the field (for example, "**applets**"). **descriptor_index** Contains an index into the ****strings_table[]**** item of the **debug_component** structure. The ****strings_table[]**** entry at the indexed location must be the type of the field. Class types are fully-qualified (for example, "**[Ljavacard/framework/Applet;**"). **access_flags** A two-byte mask of modifiers that apply to this field. Modifier Value **ACC_PUBLIC** **0x0001** **ACC_PRIVATE** **0x0002** **ACC_PROTECTED** **0x0004** **ACC_STATIC** **0x0008** **ACC_FINAL** **0x0010** The above field access and modifier flags are defined in the same way and with the same restrictions as described in the **//Java Virtual Machine Specification//**. **contents** A **field_debug_info** structure can describe an instance field, a static field, or a static final field (a constant). Constants can be either primitive data or arrays of primitive data. Depending on the kind of field described, the contents item is interpreted in different ways. The kind and type of the field can be determined by examining the field's descriptor and access flags. ** token_var** If the field is an instance field, this value is the instance field token of the field. The **pad1**, **pad2**, and **pad3** items are padding only; their values should be ignored. ** location_var** If the field is a non-final static field or a final static field with an array type (a constant array), this value is the byte offset of the location for this field in the static field image defined by the Static Field Component ([[6.10_Static Field Component| Section 6.10, Static Field Component]]). The pad item is padding only; its value should be ignored. ** const_value** If the field is a final static field of type **byte**, **boolean**, **short**, or **int**, this value is **int**erpreted as a signed 32-bit constant.