< prev index next >
src/java.base/share/classes/java/lang/invoke/MemberName.java
Print this page
@@ -453,11 +453,10 @@
static final int BRIDGE = 0x00000040;
static final int VARARGS = 0x00000080;
static final int SYNTHETIC = 0x00001000;
static final int ANNOTATION = 0x00002000;
static final int ENUM = 0x00004000;
- static final int FLATTENABLE = 0x00000100;
static final int FLATTENED = 0x00008000;
/** Utility method to query the modifier flags of this member; returns false if the member is not a method. */
public boolean isBridge() {
return testAllFlags(IS_METHOD | BRIDGE);
@@ -469,23 +468,21 @@
/** Utility method to query the modifier flags of this member; returns false if the member is not a method. */
public boolean isSynthetic() {
return testAllFlags(SYNTHETIC);
}
- /*
- * Query whether this member is a flattenable field.
- *
- * A flattenable field whose type must be of value class with ACC_FLATTENABLE flag set.
- * A field of value type may or may not be flattenable.
- */
- public boolean isFlattenable() { return (flags & FLATTENABLE) == FLATTENABLE; }
-
- /** Query whether this member is a flat value field */
- public boolean isFlatValue() { return (flags & FLATTENED) == FLATTENED; }
+ /** Query whether this member is a flattened field */
+ public boolean isFlattened() { return (flags & FLATTENED) == FLATTENED; }
/** Query whether this member can be assigned to null. */
- public boolean canBeNull() { return !isFlattenable(); }
+ public boolean canBeNull() {
+ if (isField()) {
+ Class<?> type = getFieldType();
+ return type == type.asBoxType();
+ }
+ return false;
+ }
static final String CONSTRUCTOR_NAME = "<init>"; // the ever-popular
// modifiers exported by the JVM:
static final int RECOGNIZED_MODIFIERS = 0xFFFF;
< prev index next >