at.dms.classfile
Class MethodInfo

java.lang.Object
  |
  +--at.dms.classfile.Member
        |
        +--at.dms.classfile.MethodInfo
All Implemented Interfaces:
Constants
Direct Known Subclasses:
CMethodInfo

public class MethodInfo
extends Member

Methods: VMS 4.6. Each method, and each (class or instance) initialization method is described by this structure.


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
MethodInfo(java.io.DataInput in, ConstantPool cp, boolean interfaceOnly)
          Constructs a method entry from a class file stream.
MethodInfo(short modifiers, java.lang.String name, java.lang.String type, java.lang.String[] exceptions, CodeInfo code, boolean deprecated, boolean synthetic)
          Constructs a method entry.
 
Method Summary
 CodeInfo getCodeInfo()
          Returns the code attribute associated with this method.
 java.lang.String[] getExceptions()
          Returns the exceptions of this method.
 java.lang.String getName()
          Returns the name of this method.
protected  int getParameterCount()
          Computes the number of parameters.
 java.lang.String getSignature()
          Returns the type of this method.
 boolean isDeprecated()
          Returns true if this method is deprecated.
 boolean isSynthetic()
          Returns true if this method is synthetic.
 void resolveConstants(ConstantPool cp)
          Insert or check location of constant value on constant pool.
 void setCodeInfo(CodeInfo info)
          Sets the code attribute associated with this method.
 void setDeprecated(boolean deprecated)
          Sets the deprecated attribute of this method.
 void setExceptions(java.lang.String[] exceptions)
          Sets the exceptions.
 void setName(java.lang.String name)
          Sets the name of this method.
 void setSignature(java.lang.String type)
          Returns the type of this method.
 void setSynthetic(boolean synthetic)
          Sets whether this method is synthetic.
 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

MethodInfo

public MethodInfo(short modifiers,
                  java.lang.String name,
                  java.lang.String type,
                  java.lang.String[] exceptions,
                  CodeInfo code,
                  boolean deprecated,
                  boolean synthetic)
Constructs a method entry.
Parameters:
modifiers - access permission to and properties of the method
name - the simple name of the method (or or )
type - the method signature
exceptions - the checked exceptions the method may throw
code - the virtual machine instructions and auxiliary infos
deprecated - is this method deprecated ?
synthetic - is this method synthesized by the compiler ? NOTE: VMS 4.7.5: There must be exactly one Exceptions attribute in each method_info structure.

MethodInfo

public MethodInfo(java.io.DataInput in,
                  ConstantPool cp,
                  boolean interfaceOnly)
           throws java.io.IOException,
                  ClassFileFormatException
Constructs a method entry from a class file stream.
Parameters:
in - The stream to read from.
cp - The constant pool.
interfaceOnly - Load only the interface, not the source code.
Throws:
java.io.IOException - An io problem has occured
ClassFileFormatException - Attempt to read from a bad classfile.
Method Detail

getName

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

setName

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

getSignature

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

setSignature

public void setSignature(java.lang.String type)
Returns the type of this method.

getExceptions

public java.lang.String[] getExceptions()
Returns the exceptions of this method.

setExceptions

public void setExceptions(java.lang.String[] exceptions)
Sets the exceptions.

isDeprecated

public boolean isDeprecated()
Returns true if this method is deprecated.

setDeprecated

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

isSynthetic

public boolean isSynthetic()
Returns true if this method is synthetic.

setSynthetic

public void setSynthetic(boolean synthetic)
Sets whether this method is synthetic.

getCodeInfo

public CodeInfo getCodeInfo()
Returns the code attribute associated with this method.

setCodeInfo

public void setCodeInfo(CodeInfo info)
Sets the code attribute associated with this method.

resolveConstants

public 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

public 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.

getParameterCount

protected int getParameterCount()
Computes the number of parameters.