1 30 31 package oracle.toplink.libraries.asm.attrs; 32 33 import oracle.toplink.libraries.asm.Label; 34 35 43 44 public class StackMapType { 45 46 public static final int ITEM_Top = 0; 47 48 public static final int ITEM_Integer = 1; 49 50 public static final int ITEM_Float = 2; 51 52 public static final int ITEM_Double = 3; 53 54 public static final int ITEM_Long = 4; 55 56 public static final int ITEM_Null = 5; 57 58 public static final int ITEM_UninitializedThis = 6; 59 60 public static final int ITEM_Object = 7; 61 62 public static final int ITEM_Uninitialized = 8; 63 64 public static final String [] ITEM_NAMES = { 65 "Top", 66 "Integer", 67 "Float", 68 "Double", 69 "Long", 70 "Null", 71 "UninitializedThis", 72 "Object", 73 "Uninitialized" 74 }; 75 76 private int type; 77 78 private Label offset; 79 80 private String object; 81 82 private StackMapType (int type) { 83 this.type = type; 84 } 85 86 public int getType () { 87 return type; 88 } 89 90 public static StackMapType getTypeInfo (int itemType) { 91 return new StackMapType(itemType); 92 } 93 94 public void setLabel (Label offset) { 95 this.offset = offset; 96 } 97 98 public void setObject (String object) { 99 this.object = object; 100 } 101 102 public Label getLabel () { 103 return offset; 104 } 105 106 public String getObject () { 107 return object; 108 } 109 110 public String toString () { 111 StringBuffer sb = new StringBuffer (ITEM_NAMES[type]); 112 if (type == ITEM_Object) { 113 sb.append(":").append(object); 114 } 115 if (type == ITEM_Uninitialized) { 116 sb.append(":L").append(System.identityHashCode(offset)); 117 } 118 return sb.toString(); 119 } 120 } 121 | Popular Tags |