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

Lookup::defineHiddenClass{WithClassData} should throw IllegalArgumentException if code bytes is not a class or interface

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not an Issue
    • P3
    • None
    • None
    • core-libs

    Description

      Tested methods: defineHiddenClass, defineHiddenClassWithClassData
      Assertion: Throws: IllegalArgumentException - if ... bytes is not a class or interface...

      The following behavior is found for bytes presenting both enums and records:
      Expected exception IllegalArgumentException was not thrown by the testcase NoClassDefFoundError was thrown instead.


      java.lang.NoClassDefFoundError:
      javasoft/sqe/tests/api/java/lang/invoke/MethodHandles/Lookup/TestEnum01p01
      at java.base/java.lang.ClassLoader.defineClass0(Native Method)
      at java.base/java.lang.System$2.defineClass(System.java:2193)
      at java.base/java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClass(MethodHandles.java:2446)
      at java.base/java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClassAsLookup(MethodHandles.java:2452)
      at java.base/java.lang.invoke.MethodHandles$Lookup.defineHiddenClassWithClassData(MethodHandles.java:2221)
      at javasoft.sqe.tests.api.java.lang.invoke.MethodHandles.Lookup.DefineHiddenClassWithClassData.testDefineHiddenClassWithData09(DefineHiddenClassWithClassData.java:445)

      Attachments

        Activity

          People

            mchung Mandy Chung
            lkuskov Leonid Kuskov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: