Site Tools

Sidebar

Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing

javacard:jcvm:6.14.1.1_the_field_debug_info_structure

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 ( 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 interpreted as a signed 32-bit constant.

javacard/jcvm/6.14.1.1_the_field_debug_info_structure.txt · Last modified: 2017/05/13 04:10 (external edit)