Class CTCompiler
- java.lang.Object
-
- com.ibm.wala.shrike.shrikeBT.Compiler
-
- com.ibm.wala.shrike.shrikeBT.shrikeCT.CTCompiler
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.ibm.wala.shrike.shrikeBT.Compiler
Compiler.Output
-
-
Field Summary
-
Fields inherited from interface com.ibm.wala.shrike.shrikeBT.Constants
ACC_ABSTRACT, ACC_ANNOTATION, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MODULE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_FieldRef, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodRef, CONSTANT_InvokeDynamic, CONSTANT_Long, CONSTANT_MethodHandle, CONSTANT_MethodRef, CONSTANT_MethodType, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8, indexedTypes, indexedTypes_T, MAYBE, NO, OP_aaload, OP_aastore, OP_aconst_null, OP_aload, OP_aload_0, OP_aload_1, OP_aload_2, OP_aload_3, OP_anewarray, OP_areturn, OP_arraylength, OP_astore, OP_astore_0, OP_astore_1, OP_astore_2, OP_astore_3, OP_athrow, OP_baload, OP_bastore, OP_bipush, OP_caload, OP_castore, OP_checkcast, OP_d2f, OP_d2i, OP_d2l, OP_dadd, OP_daload, OP_dastore, OP_dcmpg, OP_dcmpl, OP_dconst_0, OP_dconst_1, OP_ddiv, OP_dload, OP_dload_0, OP_dload_1, OP_dload_2, OP_dload_3, OP_dmul, OP_dneg, OP_drem, OP_dreturn, OP_dstore, OP_dstore_0, OP_dstore_1, OP_dstore_2, OP_dstore_3, OP_dsub, OP_dup, OP_dup_x1, OP_dup_x2, OP_dup2, OP_dup2_x1, OP_dup2_x2, OP_f2d, OP_f2i, OP_f2l, OP_fadd, OP_faload, OP_fastore, OP_fcmpg, OP_fcmpl, OP_fconst_0, OP_fconst_1, OP_fconst_2, OP_fdiv, OP_fload, OP_fload_0, OP_fload_1, OP_fload_2, OP_fload_3, OP_fmul, OP_fneg, OP_frem, OP_freturn, OP_fstore, OP_fstore_0, OP_fstore_1, OP_fstore_2, OP_fstore_3, OP_fsub, OP_getfield, OP_getstatic, OP_goto, OP_goto_w, OP_i2b, OP_i2c, OP_i2d, OP_i2f, OP_i2l, OP_i2s, OP_iadd, OP_iaload, OP_iand, OP_iastore, OP_iconst_0, OP_iconst_1, OP_iconst_2, OP_iconst_3, OP_iconst_4, OP_iconst_5, OP_iconst_m1, OP_idiv, OP_if_acmpeq, OP_if_acmpne, OP_if_icmpeq, OP_if_icmpge, OP_if_icmpgt, OP_if_icmple, OP_if_icmplt, OP_if_icmpne, OP_ifeq, OP_ifge, OP_ifgt, OP_ifle, OP_iflt, OP_ifne, OP_ifnonnull, OP_ifnull, OP_iinc, OP_iload, OP_iload_0, OP_iload_1, OP_iload_2, OP_iload_3, OP_imul, OP_ineg, OP_instanceof, OP_invokedynamic, OP_invokeinterface, OP_invokespecial, OP_invokestatic, OP_invokevirtual, OP_ior, OP_irem, OP_ireturn, OP_ishl, OP_ishr, OP_istore, OP_istore_0, OP_istore_1, OP_istore_2, OP_istore_3, OP_isub, OP_iushr, OP_ixor, OP_jsr, OP_jsr_w, OP_l2d, OP_l2f, OP_l2i, OP_ladd, OP_laload, OP_land, OP_lastore, OP_lcmp, OP_lconst_0, OP_lconst_1, OP_ldc, OP_ldc_w, OP_ldc2_w, OP_ldiv, OP_lload, OP_lload_0, OP_lload_1, OP_lload_2, OP_lload_3, OP_lmul, OP_lneg, OP_lookupswitch, OP_lor, OP_lrem, OP_lreturn, OP_lshl, OP_lshr, OP_lstore, OP_lstore_0, OP_lstore_1, OP_lstore_2, OP_lstore_3, OP_lsub, OP_lushr, OP_lxor, OP_monitorenter, OP_monitorexit, OP_multianewarray, OP_new, OP_newarray, OP_nop, OP_pop, OP_pop2, OP_putfield, OP_putstatic, OP_ret, OP_return, OP_saload, OP_sastore, OP_sipush, OP_swap, OP_tableswitch, OP_wide, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TYPE_boolean, TYPE_boolean_index, TYPE_byte, TYPE_byte_index, TYPE_char, TYPE_char_index, TYPE_Class, TYPE_double, TYPE_double_index, TYPE_Error, TYPE_Exception, TYPE_float, TYPE_float_index, TYPE_int, TYPE_int_index, TYPE_long, TYPE_long_index, TYPE_MethodHandle, TYPE_MethodType, TYPE_null, TYPE_Object, TYPE_Object_index, TYPE_RuntimeException, TYPE_short, TYPE_short_index, TYPE_String, TYPE_Throwable, TYPE_unknown, TYPE_void, YES
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intallocateConstantPoolClassType(java.lang.String c)protected intallocateConstantPoolDouble(double v)protected intallocateConstantPoolField(java.lang.String c, java.lang.String name, java.lang.String type)protected intallocateConstantPoolFloat(float v)protected intallocateConstantPoolInteger(int v)protected intallocateConstantPoolInterfaceMethod(java.lang.String c, java.lang.String name, java.lang.String sig)protected intallocateConstantPoolInvokeDynamic(BootstrapMethodsReader.BootstrapMethod b, java.lang.String name, java.lang.String type)protected intallocateConstantPoolLong(long v)protected intallocateConstantPoolMethod(java.lang.String c, java.lang.String name, java.lang.String sig)protected intallocateConstantPoolMethodHandle(ConstantPoolParser.ReferenceToken c)protected intallocateConstantPoolMethodType(java.lang.String c)protected intallocateConstantPoolString(java.lang.String v)static java.lang.StringconvertTypeToClass(java.lang.String s)Convert a JVM type to the internal JVM class name (e.g., Ljava/lang/Object; to java/lang/Object)protected java.lang.StringcreateHelperMethod(boolean isStatic, java.lang.String sig)static CTCompilermake(ClassWriter cw, MethodData md)-
Methods inherited from class com.ibm.wala.shrike.shrikeBT.Compiler
compile, getAuxiliaryMethods, getClassType, getOutput, setClassHierarchy, setPresetConstants
-
-
-
-
Method Detail
-
allocateConstantPoolInteger
protected int allocateConstantPoolInteger(int v)
- Specified by:
allocateConstantPoolIntegerin classCompiler
-
allocateConstantPoolFloat
protected int allocateConstantPoolFloat(float v)
- Specified by:
allocateConstantPoolFloatin classCompiler
-
allocateConstantPoolLong
protected int allocateConstantPoolLong(long v)
- Specified by:
allocateConstantPoolLongin classCompiler
-
allocateConstantPoolDouble
protected int allocateConstantPoolDouble(double v)
- Specified by:
allocateConstantPoolDoublein classCompiler
-
allocateConstantPoolString
protected int allocateConstantPoolString(java.lang.String v)
- Specified by:
allocateConstantPoolStringin classCompiler
-
allocateConstantPoolClassType
protected int allocateConstantPoolClassType(java.lang.String c)
- Specified by:
allocateConstantPoolClassTypein classCompiler
-
allocateConstantPoolMethodType
protected int allocateConstantPoolMethodType(java.lang.String c)
- Specified by:
allocateConstantPoolMethodTypein classCompiler
-
allocateConstantPoolMethodHandle
protected int allocateConstantPoolMethodHandle(ConstantPoolParser.ReferenceToken c)
- Specified by:
allocateConstantPoolMethodHandlein classCompiler
-
allocateConstantPoolInvokeDynamic
protected int allocateConstantPoolInvokeDynamic(BootstrapMethodsReader.BootstrapMethod b, java.lang.String name, java.lang.String type)
- Specified by:
allocateConstantPoolInvokeDynamicin classCompiler
-
convertTypeToClass
public static java.lang.String convertTypeToClass(java.lang.String s)
Convert a JVM type to the internal JVM class name (e.g., Ljava/lang/Object; to java/lang/Object)- Throws:
java.lang.IllegalArgumentException- if s is null
-
make
public static CTCompiler make(ClassWriter cw, MethodData md)
-
allocateConstantPoolField
protected int allocateConstantPoolField(java.lang.String c, java.lang.String name, java.lang.String type)- Specified by:
allocateConstantPoolFieldin classCompiler
-
allocateConstantPoolMethod
protected int allocateConstantPoolMethod(java.lang.String c, java.lang.String name, java.lang.String sig)- Specified by:
allocateConstantPoolMethodin classCompiler
-
allocateConstantPoolInterfaceMethod
protected int allocateConstantPoolInterfaceMethod(java.lang.String c, java.lang.String name, java.lang.String sig)- Specified by:
allocateConstantPoolInterfaceMethodin classCompiler
-
createHelperMethod
protected java.lang.String createHelperMethod(boolean isStatic, java.lang.String sig)- Specified by:
createHelperMethodin classCompiler
-
-