Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8326879

[lworld] IncompatibleClassChangeError on `value record` extending java.lang.Record

XMLWordPrintable

      "value records" implicitly extend the abstract class java.lang.Record.
      Class loading throws IncompatibleClassChangeError.

      Tests: (run with -Xint):

      valhalla/valuetypes/ObjectMethods.java: test Object methods on value classes
      valhalla/valuetypes/ObjectMethodsViaCondy.java: Test ObjectMethods::bootstrap call via condy


      ```
      Caused by: java.lang.IncompatibleClassChangeError: Value type ObjectMethods$ValueRecord has an identity type as supertype
      at java.base/java.lang.ClassLoader.defineClass1(Native Method)
      at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1023)
      at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
      at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
      at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
      at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
      at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
      at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
      at java.base/java.lang.Class.getDeclaredClasses0(Native Method)
      at java.base/java.lang.Class.getDeclaredClasses(Class.java:2581)
      at org.junit.platform.commons.util.ReflectionUtils.findNestedClasses(ReflectionUtils.java:1086)
      at org.junit.platform.commons.util.ReflectionUtils.findNestedClasses(ReflectionUtils.java:1071)
      ```

            rriggs Roger Riggs
            rriggs Roger Riggs
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: