|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
package jdk.internal.reflect; |
|
|
|
import java.lang.reflect.Field; |
|
|
|
class UnsafeQualifiedByteFieldAccessorImpl |
|
extends UnsafeQualifiedFieldAccessorImpl |
|
{ |
|
UnsafeQualifiedByteFieldAccessorImpl(Field field, boolean isReadOnly) { |
|
super(field, isReadOnly); |
|
} |
|
|
|
public Object get(Object obj) throws IllegalArgumentException { |
|
return Byte.valueOf(getByte(obj)); |
|
} |
|
|
|
public boolean getBoolean(Object obj) throws IllegalArgumentException { |
|
throw newGetBooleanIllegalArgumentException(); |
|
} |
|
|
|
public byte getByte(Object obj) throws IllegalArgumentException { |
|
ensureObj(obj); |
|
return unsafe.getByteVolatile(obj, fieldOffset); |
|
} |
|
|
|
public char getChar(Object obj) throws IllegalArgumentException { |
|
throw newGetCharIllegalArgumentException(); |
|
} |
|
|
|
public short getShort(Object obj) throws IllegalArgumentException { |
|
return getByte(obj); |
|
} |
|
|
|
public int getInt(Object obj) throws IllegalArgumentException { |
|
return getByte(obj); |
|
} |
|
|
|
public long getLong(Object obj) throws IllegalArgumentException { |
|
return getByte(obj); |
|
} |
|
|
|
public float getFloat(Object obj) throws IllegalArgumentException { |
|
return getByte(obj); |
|
} |
|
|
|
public double getDouble(Object obj) throws IllegalArgumentException { |
|
return getByte(obj); |
|
} |
|
|
|
public void set(Object obj, Object value) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
ensureObj(obj); |
|
if (isReadOnly) { |
|
throwFinalFieldIllegalAccessException(value); |
|
} |
|
if (value == null) { |
|
throwSetIllegalArgumentException(value); |
|
} |
|
if (value instanceof Byte) { |
|
unsafe.putByteVolatile(obj, fieldOffset, ((Byte) value).byteValue()); |
|
return; |
|
} |
|
throwSetIllegalArgumentException(value); |
|
} |
|
|
|
public void setBoolean(Object obj, boolean z) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
throwSetIllegalArgumentException(z); |
|
} |
|
|
|
public void setByte(Object obj, byte b) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
ensureObj(obj); |
|
if (isReadOnly) { |
|
throwFinalFieldIllegalAccessException(b); |
|
} |
|
unsafe.putByteVolatile(obj, fieldOffset, b); |
|
} |
|
|
|
public void setChar(Object obj, char c) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
throwSetIllegalArgumentException(c); |
|
} |
|
|
|
public void setShort(Object obj, short s) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
throwSetIllegalArgumentException(s); |
|
} |
|
|
|
public void setInt(Object obj, int i) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
throwSetIllegalArgumentException(i); |
|
} |
|
|
|
public void setLong(Object obj, long l) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
throwSetIllegalArgumentException(l); |
|
} |
|
|
|
public void setFloat(Object obj, float f) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
throwSetIllegalArgumentException(f); |
|
} |
|
|
|
public void setDouble(Object obj, double d) |
|
throws IllegalArgumentException, IllegalAccessException |
|
{ |
|
throwSetIllegalArgumentException(d); |
|
} |
|
} |