com.jeffpalm.cop5555.codegen
Class CodeGen

java.lang.Object
  extended by COM.sootNsmoke.instructions.Instructions
      extended by com.jeffpalm.cop5555.codegen.CodeGen
All Implemented Interfaces:
COM.sootNsmoke.jvm.RuntimeConstants

public class CodeGen
extends COM.sootNsmoke.instructions.Instructions
implements COM.sootNsmoke.jvm.RuntimeConstants


Field Summary
static int LOCAL
           
static int STATIC
           
 
Fields inherited from interface COM.sootNsmoke.jvm.RuntimeConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICTFP, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_CLASS, CONSTANT_DOUBLE, CONSTANT_FIELD, CONSTANT_FLOAT, CONSTANT_INTEGER, CONSTANT_INTERFACEMETHOD, CONSTANT_LONG, CONSTANT_METHOD, CONSTANT_NAMEANDTYPE, CONSTANT_STRING, CONSTANT_UNICODE, CONSTANT_UTF8, JAVA_MAGIC, JAVA_MINOR_VERSION, JAVA_VERSION, 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_breakpoint, 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_invokenonvirtual, 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, opcLengths, opcNames, SIG_ARRAY, SIG_BOOLEAN, SIG_BYTE, SIG_CHAR, SIG_CLASS, SIG_DOUBLE, SIG_ENDCLASS, SIG_ENDMETHOD, SIG_FLOAT, SIG_INT, SIG_LONG, SIG_METHOD, SIG_PACKAGE, SIG_SHORT, SIG_VOID, SIGC_ARRAY, SIGC_BOOLEAN, SIGC_BYTE, SIGC_CHAR, SIGC_CLASS, SIGC_DOUBLE, SIGC_ENDCLASS, SIGC_ENDMETHOD, SIGC_FLOAT, SIGC_INT, SIGC_LONG, SIGC_METHOD, SIGC_PACKAGE, SIGC_SHORT, SIGC_VOID, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT
 
Constructor Summary
CodeGen(Options options, java.lang.String _file)
           
CodeGen(java.lang.String file)
           
 
Method Summary
 void addField(java.lang.String name, int flags, int i)
           
 void addMethod(java.lang.String name, java.lang.String signature)
           
 void addMethod(java.lang.String name, java.lang.String signature, int stack, int locals)
           
 void append(COM.sootNsmoke.instructions.Sequence _seq)
           
 void genClass()
           
 void genClass(boolean verbose)
           
 java.lang.String getClassName()
           
 int getNumLocals()
           
 void init()
           
 void invokestatic(java.lang.String function, Signature signature)
           
 java.lang.String makeLabel()
           
 void setFlags(int mask)
           
 void setNumLocals(int _numLocals)
           
 boolean testFlags(int _flags)
           
 java.lang.String toString()
           
 void unsetFlags(int mask)
           
 
Methods inherited from class COM.sootNsmoke.instructions.Instructions
aaload, aastore, aconst_null, aload_0, aload_1, aload_2, aload_3, aload, anewarray, areturn, arraylength, astore, athrow, baload, bastore, bipush, caload, castore, checkcast, comment, compoundinstruction, compoundinstruction, compoundinstruction, d2f, d2i, d2l, dadd, daload, dastore, dcmpg, dcmpl, dconst_0, dconst_1, dconst, ddiv, dload_0, dload_1, dload_2, dload_3, dload, dmul, dneg, drem, dreturn, dstore, dsub, dup_x1, dup_x2, dup, dup2_x1, dup2_x2, dup2, emptysequence, f2d, f2i, f2l, fadd, faload, fastore, fcmpg, fcmpl, fconst_0, fconst_1, fconst_2, fconst, fdiv, fload_0, fload_1, fload_2, fload_3, fload, fmul, fneg, frem, freturn, fstore, fsub, getfield, getstatic, goto_, goto_w, i2b, i2c, i2d, i2f, i2l, i2s, iadd, iaload, iand, iastore, iconst_0, iconst_1, iconst_2, iconst_3, iconst_4, iconst_5, iconst_m1, iconst, idiv, if_acmpeq, if_acmpne, if_icmpeq, if_icmpge, if_icmpgt, if_icmple, if_icmplt, if_icmpne, ifeq, ifge, ifgt, ifle, iflt, ifne, ifnonnull, ifnull, iinc, iload_0, iload_1, iload_2, iload_3, iload, imul, ineg, instanceof_, invokeinterface, invokespecial, invokespecial, invokestatic, invokestatic, invokevirtual, invokevirtual, ior, irem, ireturn, ishl, ishr, istore, isub, iushr, ixor, jsr_w, jsr, l2d, l2f, l2i, label, labelsequence, ladd, laload, land, lastore, lcmp, lconst_0, lconst_1, lconst, ldc, ldc, ldc, ldc2_w, ldc2_w, ldiv, linenumber, lload, lmul, lneg, loadsequence, lookupswitch, lor, lrem, lreturn, lshl, lshr, lstore, lsub, lushr, lxor, matchlabel, monitorenter, monitorexit, multianewarray, new_, newarray, nop, pop, pop2, putfield, putstatic, ret, return_, saload, sastore, sipush, swap, tableswitch, wide, wide
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

STATIC

public static final int STATIC
See Also:
Constant Field Values

LOCAL

public static final int LOCAL
See Also:
Constant Field Values
Constructor Detail

CodeGen

public CodeGen(java.lang.String file)

CodeGen

public CodeGen(Options options,
               java.lang.String _file)
Method Detail

genClass

public void genClass()

genClass

public void genClass(boolean verbose)

makeLabel

public java.lang.String makeLabel()

setFlags

public void setFlags(int mask)

unsetFlags

public void unsetFlags(int mask)

getClassName

public java.lang.String getClassName()

setNumLocals

public void setNumLocals(int _numLocals)

getNumLocals

public int getNumLocals()

init

public void init()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

testFlags

public boolean testFlags(int _flags)

append

public void append(COM.sootNsmoke.instructions.Sequence _seq)

addField

public void addField(java.lang.String name,
                     int flags,
                     int i)

addMethod

public void addMethod(java.lang.String name,
                      java.lang.String signature,
                      int stack,
                      int locals)

addMethod

public void addMethod(java.lang.String name,
                      java.lang.String signature)

invokestatic

public void invokestatic(java.lang.String function,
                         Signature signature)