Struct rust_jvm::model::class_file::ClassFile [] [src]

pub struct ClassFile {
    pub minor_version: u2,
    pub major_version: u2,
    pub constant_pool: ConstantPool,
    pub access_flags: t,
    pub this_class: constant_pool_index,
    pub super_class: constant_pool_index,
    pub interfaces: Vec<constant_pool_index>,
    pub fields: Vec<FieldInfo>,
    pub methods: Vec<MethodInfo>,
    pub attributes: Vec<AttributeInfo>,
}

Fields

minor_version

Minor version number

major_version

Major version number

constant_pool

Table of structures representing various string constants, class and interface names, field names, and other constants. The constant_pool table is indexed from 1 to constant_pool_count - 1.

access_flags

Mask of flags used to denote access permissions to and properties of this class or interface. See the documentation for ClassAccessFlags for the interpretation of each flag.

this_class

A valid index into the constant_pool table. The constant_pool entry at that index must be a ConstantPoolInfo::Class structure representing a valid unqualified name denoting a field.

super_class

For a class, must be either zero or a valid index into the constant_pool table. If the value of super_class is non-zero, then the constant_pool entry at that index must be a ConstantPoolInfo::Class structure denoting the direct superclass of the class defined by this class file. Neither the direct superclass nor any of its superclasses may have the ACC_FINAL flag set in the access_flags item of its ClassFile structure.

interfaces

Each value in interfaces mut be a valid index into the constant_pool table. The constant_pool entry at each value of interfaces[i], where 0 ≤ i < interfaces_count, must be a ConstantPoolInfo::Class structure representing an interface that is a direct superinterface of this class or interface type, in the left-to-right order given in the source for the type.

fields

Contains only those fields declared by this class or interface. Does not include items representing fields that are inherited from superclasses or superinterfaces.

methods

Contains only those methods declared by this class or interface. Does not include items representing methods that are inherited from superclasses or superinterfaces.

attributes

Contains the attributes of this class.

Trait Implementations

Derived Implementations

impl Debug for ClassFile

fn fmt(&self, __arg_0: &mut Formatter) -> Result