1 19 20 package jode.jvm; 21 import jode.bytecode.*; 22 23 28 class Value { 29 Object value; 30 NewObject newObj; 31 32 public Value() { 33 } 34 35 public void setObject(Object obj) { 36 newObj = null; 37 value = obj; 38 } 39 40 public Object objectValue() { 41 if (newObj != null) 42 return newObj.objectValue(); 43 return value; 44 } 45 46 public void setInt(int i) { 47 newObj = null; 48 value = new Integer (i); 49 } 50 51 public int intValue() { 52 return ((Integer )value).intValue(); 53 } 54 55 public void setLong(long i) { 56 newObj = null; 57 value = new Long (i); 58 } 59 60 public long longValue() { 61 return ((Long )value).longValue(); 62 } 63 64 public void setFloat(float i) { 65 newObj = null; 66 value = new Float (i); 67 } 68 69 public float floatValue() { 70 return ((Float )value).floatValue(); 71 } 72 73 public void setDouble(double i) { 74 newObj = null; 75 value = new Double (i); 76 } 77 78 public double doubleValue() { 79 return ((Double )value).doubleValue(); 80 } 81 82 public void setNewObject(NewObject n) { 83 newObj = n; 84 } 85 86 public NewObject getNewObject() { 87 return newObj; 88 } 89 90 public void setValue(Value val) { 91 value = val.value; 92 newObj = val.newObj; 93 } 94 95 public String toString() { 96 return newObj != null ? newObj.toString() : ""+value; 97 } 98 } 99 | Popular Tags |