< prev index next > src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java
Print this page
UnsafeQualifiedStaticObjectFieldAccessorImpl(Field field, boolean isReadOnly) {
super(field, isReadOnly);
}
public Object get(Object obj) throws IllegalArgumentException {
! return unsafe.getReferenceVolatile(base, fieldOffset);
}
public boolean getBoolean(Object obj) throws IllegalArgumentException {
throw newGetBooleanIllegalArgumentException();
}
UnsafeQualifiedStaticObjectFieldAccessorImpl(Field field, boolean isReadOnly) {
super(field, isReadOnly);
}
public Object get(Object obj) throws IllegalArgumentException {
! return isFlattened() ? unsafe.getValue(obj, fieldOffset, field.getType())
+ : unsafe.getReferenceVolatile(base, fieldOffset, field.getType());
}
public boolean getBoolean(Object obj) throws IllegalArgumentException {
throw newGetBooleanIllegalArgumentException();
}
throws IllegalArgumentException, IllegalAccessException
{
if (isReadOnly) {
throwFinalFieldIllegalAccessException(value);
}
! if (value != null) {
! if (!field.getType().isAssignableFrom(value.getClass())) {
! throwSetIllegalArgumentException(value);
! }
}
- unsafe.putReferenceVolatile(base, fieldOffset, value);
}
public void setBoolean(Object obj, boolean z)
throws IllegalArgumentException, IllegalAccessException
{
throws IllegalArgumentException, IllegalAccessException
{
if (isReadOnly) {
throwFinalFieldIllegalAccessException(value);
}
! checkValue(value);
! if (isFlattened()) {
! unsafe.putValue(base, fieldOffset, field.getType(), value);
! } else {
+ unsafe.putReferenceVolatile(base, fieldOffset, value);
}
}
public void setBoolean(Object obj, boolean z)
throws IllegalArgumentException, IllegalAccessException
{
< prev index next >