1 21 package proguard.classfile.attribute.preverification; 22 23 import proguard.evaluation.value.*; 24 import proguard.classfile.*; 25 import proguard.classfile.util.ClassUtil; 26 27 32 public class VerificationTypeFactory 33 { 34 static final IntegerType INTEGER_TYPE = new IntegerType(); 36 static final LongType LONG_TYPE = new LongType(); 37 static final FloatType FLOAT_TYPE = new FloatType(); 38 static final DoubleType DOUBLE_TYPE = new DoubleType(); 39 static final TopType TOP_TYPE = new TopType(); 40 static final NullType NULL_TYPE = new NullType(); 41 static final UninitializedThisType UNINITIALIZED_THIS_TYPE = new UninitializedThisType(); 42 43 44 47 public static IntegerType createIntegerType() 48 { 49 return INTEGER_TYPE; 50 } 51 52 55 public static LongType createLongType() 56 { 57 return LONG_TYPE; 58 } 59 60 63 public static FloatType createFloatType() 64 { 65 return FLOAT_TYPE; 66 } 67 68 71 public static DoubleType createDoubleType() 72 { 73 return DOUBLE_TYPE; 74 } 75 76 79 public static TopType createTopType() 80 { 81 return TOP_TYPE; 82 } 83 84 87 public static NullType createNullType() 88 { 89 return NULL_TYPE; 90 } 91 92 95 public static UninitializedThisType createUninitializedThisType() 96 { 97 return UNINITIALIZED_THIS_TYPE; 98 } 99 100 104 public static UninitializedType createUninitializedType(int newInstructionOffset) 105 { 106 return new UninitializedType(newInstructionOffset); 107 } 108 109 112 public static ObjectType createObjectType(int classIndex) 113 { 114 return new ObjectType(classIndex); 115 } 116 } 117 | Popular Tags |