at.dms.classfile
Class FieldInfo

java.lang.Object
  |
  +--at.dms.classfile.Member
        |
        +--at.dms.classfile.FieldInfo
All Implemented Interfaces:
Constants

public class FieldInfo
extends Member

VMS 4.5: Fields Each field is described by this structure. Used to make up new field entries. Fields for a class can have an additional "ConstantValue" attribute associated them, which the java compiler uses to represent things like static final int blah = foo;


Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_NBR_FLAGS, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ATT_CODE, ATT_CONSTANTVALUE, ATT_DEPRECATED, ATT_EXCEPTIONS, ATT_GENERIC, ATT_INNERCLASSES, ATT_LINENUMBERTABLE, ATT_LOCALVARIABLETABLE, ATT_SOURCEFILE, ATT_SYNTHETIC, CST_CLASS, CST_DOUBLE, CST_FIELD, CST_FLOAT, CST_INTEGER, CST_INTERFACEMETHOD, CST_LONG, CST_METHOD, CST_NAMEANDTYPE, CST_STRING, CST_UTF8, ENV_DEBUG_MODE, ENV_USE_CACHE, JAVA_MAGIC, JAVA_MAJOR, JAVA_MINOR, MAX_CODE_PER_METHOD, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, POO_ASCII_CONSTANT, POO_CLASS_CONSTANT, POO_DOUBLE_CONSTANT, POO_FLOAT_CONSTANT, POO_INTEGER_CONSTANT, POO_LONG_CONSTANT, POO_NAT_CONSTANT, POO_REF_CONSTANT, POO_STRING_CONSTANT, TYP_ADDRESS, TYP_DOUBLE, TYP_FLOAT, TYP_INT, TYP_LONG, TYP_REFERENCE, TYP_VOID
 
Constructor Summary
FieldInfo(java.io.DataInput in, ConstantPool cp)
          Constructs a field entry from a class file stream.
FieldInfo(short modifiers, java.lang.String name, java.lang.String type, java.lang.Object value, boolean deprecated, boolean synthetic)
          Constructs a field entry.
 
Method Summary
 java.lang.Object getConstantValue()
          Returns the value of the this field.
 java.lang.String getName()
          Returns the name of the this field.
 java.lang.String getSignature()
          Returns the type of the this field.
 void getSignature(java.lang.String type)
          Returns the type of the this field.
 boolean isDeprecated()
          Returns true if the field is deprecated.
 boolean isSynthetic()
          Returns true if the field is synthetic.
(package private)  void resolveConstants(ConstantPool cp)
          Insert or check location of constant value on constant pool.
 void setConstantValue(java.lang.Object value)
          Sets the value of the this field.
 void setDeprecated(boolean deprecated)
          Sets the deprecated attribute of this field.
 void setName(java.lang.String name)
          Sets the name of the this field.
 void setSynthetic(boolean synthetic)
          Returns true if the field is synthetic.
(package private)  void write(ConstantPool cp, java.io.DataOutput out)
          Write this class into the the file (out) getting data position from the constant pool.
 
Methods inherited from class at.dms.classfile.Member
getModifiers, setModifiers
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FieldInfo

public FieldInfo(short modifiers,
                 java.lang.String name,
                 java.lang.String type,
                 java.lang.Object value,
                 boolean deprecated,
                 boolean synthetic)
Constructs a field entry.
Parameters:
modifiers - Access permission to and properties of the field.
name - The name of the field.
type - The type signature.
value - The value of a constant field that must be (explicitly or implicitly) static.
deprecated - Is this field deprecated?
synthetic - Is this field synthesized by the compiler?

FieldInfo

public FieldInfo(java.io.DataInput in,
                 ConstantPool cp)
          throws java.io.IOException,
                 ClassFileFormatException
Constructs a field entry from a class file stream.
Parameters:
in - the stream to read from
cp - the constant pool
Throws:
java.io.IOException - an io problem has occured
ClassFileFormatException - attempt to write a bad classfile info
Method Detail

getName

public java.lang.String getName()
Returns the name of the this field.
Overrides:
getName in class Member

setName

public void setName(java.lang.String name)
Sets the name of the this field.

getSignature

public java.lang.String getSignature()
Returns the type of the this field.
Overrides:
getSignature in class Member

getSignature

public void getSignature(java.lang.String type)
Returns the type of the this field.

getConstantValue

public java.lang.Object getConstantValue()
Returns the value of the this field.

setConstantValue

public void setConstantValue(java.lang.Object value)
Sets the value of the this field.

isDeprecated

public boolean isDeprecated()
Returns true if the field is deprecated.

setDeprecated

public void setDeprecated(boolean deprecated)
Sets the deprecated attribute of this field.

isSynthetic

public boolean isSynthetic()
Returns true if the field is synthetic.

setSynthetic

public void setSynthetic(boolean synthetic)
Returns true if the field is synthetic.

resolveConstants

void resolveConstants(ConstantPool cp)
                throws ClassFileFormatException
Insert or check location of constant value on constant pool.
Parameters:
cp - the constant pool for this class

write

void write(ConstantPool cp,
           java.io.DataOutput out)
     throws java.io.IOException,
            ClassFileFormatException
Write this class into the the file (out) getting data position from the constant pool.
Parameters:
cp - The constant pool that contain all data.
out - The file where to write this object info.
Throws:
java.io.IOException - An io problem has occured.
ClassFileFormatException - Attempt to write a bad classfile info.