16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.internal.reflect;
27
28 import java.lang.reflect.Field;
29
30 class UnsafeStaticObjectFieldAccessorImpl extends UnsafeStaticFieldAccessorImpl {
31 UnsafeStaticObjectFieldAccessorImpl(Field field) {
32 super(field);
33 }
34
35 public Object get(Object obj) throws IllegalArgumentException {
36 return isFlatValue() ? unsafe.getValue(base, fieldOffset, field.getType())
37 : unsafe.getReference(base, fieldOffset);
38 }
39
40 public boolean getBoolean(Object obj) throws IllegalArgumentException {
41 throw newGetBooleanIllegalArgumentException();
42 }
43
44 public byte getByte(Object obj) throws IllegalArgumentException {
45 throw newGetByteIllegalArgumentException();
46 }
47
48 public char getChar(Object obj) throws IllegalArgumentException {
49 throw newGetCharIllegalArgumentException();
50 }
51
52 public short getShort(Object obj) throws IllegalArgumentException {
53 throw newGetShortIllegalArgumentException();
54 }
55
56 public int getInt(Object obj) throws IllegalArgumentException {
59
60 public long getLong(Object obj) throws IllegalArgumentException {
61 throw newGetLongIllegalArgumentException();
62 }
63
64 public float getFloat(Object obj) throws IllegalArgumentException {
65 throw newGetFloatIllegalArgumentException();
66 }
67
68 public double getDouble(Object obj) throws IllegalArgumentException {
69 throw newGetDoubleIllegalArgumentException();
70 }
71
72 public void set(Object obj, Object value)
73 throws IllegalArgumentException, IllegalAccessException
74 {
75 if (isFinal) {
76 throwFinalFieldIllegalAccessException(value);
77 }
78 checkValue(value);
79 if (isFlatValue()) {
80 unsafe.putValue(obj, fieldOffset, field.getType(), value);
81 } else {
82 unsafe.putReference(base, fieldOffset, value);
83 }
84 }
85
86 public void setBoolean(Object obj, boolean z)
87 throws IllegalArgumentException, IllegalAccessException
88 {
89 throwSetIllegalArgumentException(z);
90 }
91
92 public void setByte(Object obj, byte b)
93 throws IllegalArgumentException, IllegalAccessException
94 {
95 throwSetIllegalArgumentException(b);
96 }
97
98 public void setChar(Object obj, char c)
99 throws IllegalArgumentException, IllegalAccessException
|
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.internal.reflect;
27
28 import java.lang.reflect.Field;
29
30 class UnsafeStaticObjectFieldAccessorImpl extends UnsafeStaticFieldAccessorImpl {
31 UnsafeStaticObjectFieldAccessorImpl(Field field) {
32 super(field);
33 }
34
35 public Object get(Object obj) throws IllegalArgumentException {
36 return isFlattened() ? unsafe.getValue(base, fieldOffset, field.getType())
37 : unsafe.getReference(base, fieldOffset);
38 }
39
40 public boolean getBoolean(Object obj) throws IllegalArgumentException {
41 throw newGetBooleanIllegalArgumentException();
42 }
43
44 public byte getByte(Object obj) throws IllegalArgumentException {
45 throw newGetByteIllegalArgumentException();
46 }
47
48 public char getChar(Object obj) throws IllegalArgumentException {
49 throw newGetCharIllegalArgumentException();
50 }
51
52 public short getShort(Object obj) throws IllegalArgumentException {
53 throw newGetShortIllegalArgumentException();
54 }
55
56 public int getInt(Object obj) throws IllegalArgumentException {
59
60 public long getLong(Object obj) throws IllegalArgumentException {
61 throw newGetLongIllegalArgumentException();
62 }
63
64 public float getFloat(Object obj) throws IllegalArgumentException {
65 throw newGetFloatIllegalArgumentException();
66 }
67
68 public double getDouble(Object obj) throws IllegalArgumentException {
69 throw newGetDoubleIllegalArgumentException();
70 }
71
72 public void set(Object obj, Object value)
73 throws IllegalArgumentException, IllegalAccessException
74 {
75 if (isFinal) {
76 throwFinalFieldIllegalAccessException(value);
77 }
78 checkValue(value);
79 if (isFlattened()) {
80 unsafe.putValue(obj, fieldOffset, field.getType(), value);
81 } else {
82 unsafe.putReference(base, fieldOffset, value);
83 }
84 }
85
86 public void setBoolean(Object obj, boolean z)
87 throws IllegalArgumentException, IllegalAccessException
88 {
89 throwSetIllegalArgumentException(z);
90 }
91
92 public void setByte(Object obj, byte b)
93 throws IllegalArgumentException, IllegalAccessException
94 {
95 throwSetIllegalArgumentException(b);
96 }
97
98 public void setChar(Object obj, char c)
99 throws IllegalArgumentException, IllegalAccessException
|