< prev index next >
src/java.base/share/classes/java/lang/invoke/VarHandles.java
Print this page
@@ -32,12 +32,12 @@
static VarHandle makeFieldHandle(MemberName f, Class<?> refc, Class<?> type, boolean isWriteAllowedOnFinalFields) {
if (!f.isStatic()) {
long foffset = MethodHandleNatives.objectFieldOffset(f);
if (!type.isPrimitive()) {
return f.isFinal() && !isWriteAllowedOnFinalFields
- ? new VarHandleObjects.FieldInstanceReadOnly(refc, foffset, type)
- : new VarHandleObjects.FieldInstanceReadWrite(refc, foffset, type);
+ ? new VarHandleReferences.FieldInstanceReadOnly(refc, foffset, type)
+ : new VarHandleReferences.FieldInstanceReadWrite(refc, foffset, type);
}
else if (type == boolean.class) {
return f.isFinal() && !isWriteAllowedOnFinalFields
? new VarHandleBooleans.FieldInstanceReadOnly(refc, foffset)
: new VarHandleBooleans.FieldInstanceReadWrite(refc, foffset);
@@ -93,12 +93,12 @@
Object base = MethodHandleNatives.staticFieldBase(f);
long foffset = MethodHandleNatives.staticFieldOffset(f);
if (!type.isPrimitive()) {
return f.isFinal() && !isWriteAllowedOnFinalFields
- ? new VarHandleObjects.FieldStaticReadOnly(base, foffset, type)
- : new VarHandleObjects.FieldStaticReadWrite(base, foffset, type);
+ ? new VarHandleReferences.FieldStaticReadOnly(base, foffset, type)
+ : new VarHandleReferences.FieldStaticReadWrite(base, foffset, type);
}
else if (type == boolean.class) {
return f.isFinal() && !isWriteAllowedOnFinalFields
? new VarHandleBooleans.FieldStaticReadOnly(base, foffset)
: new VarHandleBooleans.FieldStaticReadWrite(base, foffset);
@@ -153,11 +153,11 @@
int aoffset = UNSAFE.arrayBaseOffset(arrayClass);
int ascale = UNSAFE.arrayIndexScale(arrayClass);
int ashift = 31 - Integer.numberOfLeadingZeros(ascale);
if (!componentType.isPrimitive()) {
- return new VarHandleObjects.Array(aoffset, ashift, arrayClass);
+ return new VarHandleReferences.Array(aoffset, ashift, arrayClass);
}
else if (componentType == boolean.class) {
return new VarHandleBooleans.Array(aoffset, ashift);
}
else if (componentType == byte.class) {
< prev index next >