at.dms.classfile
Class NoArgInstruction

java.lang.Object
  extended by at.dms.classfile.AbstractInstructionAccessor
      extended by at.dms.classfile.Instruction
          extended by at.dms.classfile.NoArgInstruction
All Implemented Interfaces:
Constants, InstructionAccessor

public class NoArgInstruction
extends Instruction

This class represents instructions that take no arguments. opc_dastore, opc_lastore, opc_aastore, opc_bastore, opc_castore, opc_dcmpg, opc_dcmpl, opc_fastore, opc_iastore, opc_lcmp, opc_sastore, opc_dadd, opc_ddiv, opc_dmul, opc_drem, opc_dreturn, opc_dsub, opc_ladd, opc_land, opc_ldiv, opc_lmul, opc_lor, opc_lrem, opc_lreturn, opc_lsub, opc_lxor, opc_pop2, opc_aaload, opc_areturn, opc_athrow, opc_baload, opc_caload, opc_d2f, opc_d2i, opc_fadd, opc_faload, opc_fcmpg, opc_fcmpl, opc_fdiv, opc_fmul, opc_frem, opc_freturn, opc_fsub, opc_iadd, opc_iaload, opc_iand, opc_idiv, opc_imul, opc_isub, opc_irem, opc_ishl, opc_ishr, opc_iushr, opc_ior, opc_ixor, opc_l2f, opc_l2i, opc_lshl, opc_lshr, opc_lushr, opc_monitorenter, opc_monitorexit, opc_pop, opc_saload, opc_ireturn, opc_nop, opc_arraylength, opc_d2l, opc_daload, opc_dneg, opc_f2i, opc_fneg, opc_i2b, opc_i2c, opc_i2f, opc_i2s, opc_ineg, opc_l2d, opc_laload, opc_lneg, opc_return, opc_swap, opc_aconst_null, opc_dup, opc_dup_x1, opc_dup_x2, opc_f2d, opc_f2l, opc_i2d, opc_i2l, opc_dup2, opc_dup2_x1, opc_dup2_x2


Field Summary
 
Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INLINE, ACC_INTERFACE, ACC_NATIVE, 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
NoArgInstruction(int opcode)
          Constructs a new instruction that takes no arguments
 
Method Summary
 boolean canComplete()
          Returns true iff control flow can reach the next instruction in textual order.
 int getPushedOnStack()
          Returns the size of data pushed on the stack by this instruction
 byte getReturnType()
          Returns the type pushed on the stack
 int getStack()
          Return the amount of stack (positive or negative) used by this instruction
 boolean isLiteral()
          Return true if this instruction is a literal
 
Methods inherited from class at.dms.classfile.Instruction
dump, getOpcode, getPoppedFromStack
 
Methods inherited from class at.dms.classfile.AbstractInstructionAccessor
deepClone, deepCloneInto, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoArgInstruction

public NoArgInstruction(int opcode)
Constructs a new instruction that takes no arguments

Parameters:
opcode - the opcode of the instruction
Method Detail

canComplete

public boolean canComplete()
Returns true iff control flow can reach the next instruction in textual order.

Specified by:
canComplete in class Instruction

getReturnType

public byte getReturnType()
Returns the type pushed on the stack

Specified by:
getReturnType in class Instruction

getPushedOnStack

public int getPushedOnStack()
Returns the size of data pushed on the stack by this instruction

Specified by:
getPushedOnStack in class Instruction

getStack

public int getStack()
Return the amount of stack (positive or negative) used by this instruction

Specified by:
getStack in class Instruction

isLiteral

public boolean isLiteral()
Return true if this instruction is a literal

Overrides:
isLiteral in class Instruction