JML

org.multijava.mjc
Class CMethodInfo

java.lang.Object
  extended byorg.multijava.util.classfile.Member
      extended byorg.multijava.util.classfile.MethodInfo
          extended byorg.multijava.mjc.CMethodInfo
All Implemented Interfaces:
Comparable, Constants

public class CMethodInfo
extends MethodInfo

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


Field Summary
private  CSourceMethod method
           
 
Fields inherited from class org.multijava.util.classfile.MethodInfo
attributes
 
Fields inherited from class org.multijava.util.classfile.Member
 
Fields inherited from interface org.multijava.util.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VOLATILE, ACCESS_FLAG_ARRAY, ACCESS_FLAG_NAMES, ATT_ANCHOR, ATT_BRIDGE, ATT_CODE, ATT_CONSTANTVALUE, ATT_DEPRECATED, ATT_DISPATCHER, ATT_EXCEPTIONS, ATT_GENERIC, ATT_GENERIC_FUNCTIONS, ATT_INNERCLASSES, ATT_LINENUMBERTABLE, ATT_LOCALVARIABLETABLE, ATT_MM_BODY, ATT_REDIRECTOR, ATT_RMJ_GLUE, ATT_RMJ_SIGNATURE, ATT_RUNTIME_VISIBLE_ANNOTATIONS, ATT_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS, ATT_SIGNATURE, ATT_SOURCEFILE, ATT_SYNTHETIC, ATT_UNIVERSE_FIELD, ATT_UNIVERSE_METHOD, ATT_UNIVERSE_VERSION, 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_dup2, opc_dup2_x1, opc_dup2_x2, opc_dup_x1, opc_dup_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_ldc2_w, opc_ldc_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
protected CMethodInfo(DataInput in, ConstantPool cp, boolean interfaceOnly)
          Constructs an instance by reading bytecode from the given stream in and referring to the constant pool cp.
  CMethodInfo(short modifiers, String name, String type, String genericsignature, String[] exceptions, CSourceMethod method, boolean deprecated, boolean synthetic)
          Constructs a method entry.
protected CMethodInfo(short modifiers, String name, String type, String genericsignature, String[] exceptions, CodeInfo code, boolean deprecated, boolean synthetic)
          Constructs a new instance.
 
Method Summary
 void resolveConstants(ConstantPool cp)
          Insert or check location of constant value on constant pool
 
Methods inherited from class org.multijava.util.classfile.MethodInfo
addAttribute, getCodeInfo, getExceptions, getGenericSignature, getName, getParameterCount, getSignature, getUniverseAnnotation, hasSyntheticReceiver, isDeprecated, isDispatcher, isMultimethodBody, isRedirector, isSynthetic, setCodeInfo, setDeprecated, setExceptions, setGenericSignature, setName, setSignature, setSynthetic, write
 
Methods inherited from class org.multijava.util.classfile.Member
compareTo, equals, getModifiers, hashCode, setModifiers, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

method

private CSourceMethod method
Constructor Detail

CMethodInfo

public CMethodInfo(short modifiers,
                   String name,
                   String type,
                   String genericsignature,
                   String[] exceptions,
                   CSourceMethod method,
                   boolean deprecated,
                   boolean synthetic)
Constructs a method entry. NOTE: VMS 4.7.5: There must be exactly one Exceptions attribute in each method_info structure.

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
method - the method that this provides information on
deprecated - is this method deprecated ?
synthetic - is this method synthesized by the compiler ?

CMethodInfo

protected CMethodInfo(short modifiers,
                      String name,
                      String type,
                      String genericsignature,
                      String[] exceptions,
                      CodeInfo code,
                      boolean deprecated,
                      boolean synthetic)
Constructs a new instance. This constructor is for subclasses.


CMethodInfo

protected CMethodInfo(DataInput in,
                      ConstantPool cp,
                      boolean interfaceOnly)
               throws IOException,
                      ClassFileFormatException
Constructs an instance by reading bytecode from the given stream in and referring to the constant pool cp. This constructor is for subclasses.

Throws:
IOException
ClassFileFormatException
Method Detail

resolveConstants

public void resolveConstants(ConstantPool cp)
                      throws ClassFileFormatException
Insert or check location of constant value on constant pool

Overrides:
resolveConstants in class MethodInfo
Parameters:
cp - the constant pool for this class
Throws:
ClassFileFormatException

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.