< prev index next >
src/java.base/share/classes/java/lang/reflect/ReflectAccess.java
Print this page
@@ -158,9 +158,21 @@
@SuppressWarnings("unchecked")
public <T extends AccessibleObject> T getRoot(T obj) {
return (T) obj.getRoot();
}
+ /*
+ * With a Field object for C.f of type T, T should have been resolved
+ * and T must be present in ValueType attribute.
+ */
+ public boolean isFlattenable(Field f) {
+ return (f.getModifiers() & Modifier.FLATTENABLE) == Modifier.FLATTENABLE;
+ }
+
public boolean isFlattened(Field f) {
- return (f.getModifiers() & Modifier.FLATTENED) == Modifier.FLATTENED;
+ return isFlattenable(f) && (f.getModifiers() & Modifier.FLATTENED) == Modifier.FLATTENED;
+ }
+
+ public boolean isNullable(Field f) {
+ return !isFlattenable(f);
}
}
< prev index next >