MCPcopy Create free account
hub / github.com/ReadyTalk/avian / get

Method get

classpath/java/lang/reflect/Field.java:81–134  ·  view source on GitHub ↗
(Object instance)

Source from the content-addressed store, hash-verified

79 }
80
81 public Object get(Object instance) throws IllegalAccessException {
82 Object target;
83 if ((vmField.flags & Modifier.STATIC) != 0) {
84 target = vmField.class_.staticTable;
85 } else if (Class.isInstance(vmField.class_, instance)) {
86 target = instance;
87 } else {
88 throw new IllegalArgumentException();
89 }
90
91 Classes.initialize(vmField.class_);
92
93 switch (vmField.code) {
94 case ByteField:
95 return Byte.valueOf
96 ((byte) getPrimitive(target, vmField.code, vmField.offset));
97
98 case BooleanField:
99 return Boolean.valueOf
100 (getPrimitive(target, vmField.code, vmField.offset) != 0);
101
102 case CharField:
103 return Character.valueOf
104 ((char) getPrimitive(target, vmField.code, vmField.offset));
105
106 case ShortField:
107 return Short.valueOf
108 ((short) getPrimitive(target, vmField.code, vmField.offset));
109
110 case IntField:
111 return Integer.valueOf
112 ((int) getPrimitive(target, vmField.code, vmField.offset));
113
114 case LongField:
115 return Long.valueOf
116 (getPrimitive(target, vmField.code, vmField.offset));
117
118 case FloatField:
119 return Float.valueOf
120 (Float.intBitsToFloat
121 ((int) getPrimitive(target, vmField.code, vmField.offset)));
122
123 case DoubleField:
124 return Double.valueOf
125 (Double.longBitsToDouble
126 (getPrimitive(target, vmField.code, vmField.offset)));
127
128 case ObjectField:
129 return getObject(target, vmField.offset);
130
131 default:
132 throw new Error();
133 }
134 }
135
136 public boolean getBoolean(Object instance) throws IllegalAccessException {
137 return ((Boolean) get(instance)).booleanValue();

Callers 9

mainMethod · 0.95
getBooleanMethod · 0.95
getByteMethod · 0.95
getShortMethod · 0.95
getCharMethod · 0.95
getIntMethod · 0.95
getFloatMethod · 0.95
getLongMethod · 0.95
getDoubleMethod · 0.95

Calls 14

isInstanceMethod · 0.95
initializeMethod · 0.95
valueOfMethod · 0.95
getPrimitiveMethod · 0.95
valueOfMethod · 0.95
valueOfMethod · 0.95
valueOfMethod · 0.95
valueOfMethod · 0.95
valueOfMethod · 0.95
valueOfMethod · 0.95
intBitsToFloatMethod · 0.95
valueOfMethod · 0.95

Tested by 1

mainMethod · 0.76