-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P5
-
Affects Version/s: 21
-
Component/s: specification
Initialization is specified by JVMS in terms of a state tracked by the java.lang.Class object corresponding to each class or interface.
This reliance on a specific API is unnecessary, and contrasts with the usual approach of talking abstractly about classes, not forcing a particular encoding or implementation strategy. (Compare, e.g., the specification of ldc, which allows for a layer of indirection between the abstract class represented by a constant and the java.lang.Class object loaded by the instruction.)
This section should be revised to avoid mentioning java.lang.Class, and talk abstractly about a class or interface instead.
This reliance on a specific API is unnecessary, and contrasts with the usual approach of talking abstractly about classes, not forcing a particular encoding or implementation strategy. (Compare, e.g., the specification of ldc, which allows for a layer of indirection between the abstract class represented by a constant and the java.lang.Class object loaded by the instruction.)
This section should be revised to avoid mentioning java.lang.Class, and talk abstractly about a class or interface instead.
- relates to
-
JDK-8298116 5.5: ConstantValue can initialize non-final fields
-
- Resolved
-