-
Bug
-
Resolution: Fixed
-
P4
-
None
-
b22
-
Verified
This affects creation of classes: for example, I was using a class transform that renames one class, chained with MethodParameters and/or Signature attributes dropping transforms. It ends up with this stack trace:
java.lang.UnsupportedOperationException
at java.base/jdk.internal.classfile.impl.AbstractElement.writeTo(AbstractElement.java:35)
at java.base/jdk.internal.classfile.impl.DirectClassBuilder.with(DirectClassBuilder.java:76)
at java.base/jdk.internal.classfile.impl.DirectClassBuilder.with(DirectClassBuilder.java:49)
at java.base/jdk.internal.classfile.impl.ChainedClassBuilder.withField(ChainedClassBuilder.java:63)
at java.base/jdk.internal.classfile.ClassBuilder.withField(ClassBuilder.java:182)
at java.base/jdk.internal.classfile.components.ClassRemapper$ClassRemapperImpl.accept(ClassRemapper.java:176)
at java.base/jdk.internal.classfile.components.ClassRemapper$ClassRemapperImpl.accept(ClassRemapper.java:170)
at java.base/jdk.internal.classfile.ClassTransform.lambda$resolve$3(ClassTransform.java:166)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at java.base/jdk.internal.classfile.impl.ClassImpl.forEachElement(ClassImpl.java:164)
at java.base/jdk.internal.classfile.ClassfileBuilder.transform(ClassfileBuilder.java:86)
at java.base/jdk.internal.classfile.impl.ClassImpl$2.accept(ClassImpl.java:181)
at java.base/jdk.internal.classfile.impl.ClassImpl$2.accept(ClassImpl.java:176)
at java.base/jdk.internal.classfile.Classfile.build(Classfile.java:217)
at java.base/jdk.internal.classfile.impl.ClassImpl.transform(ClassImpl.java:175)
Looks like an accidental missing override.
java.lang.UnsupportedOperationException
at java.base/jdk.internal.classfile.impl.AbstractElement.writeTo(AbstractElement.java:35)
at java.base/jdk.internal.classfile.impl.DirectClassBuilder.with(DirectClassBuilder.java:76)
at java.base/jdk.internal.classfile.impl.DirectClassBuilder.with(DirectClassBuilder.java:49)
at java.base/jdk.internal.classfile.impl.ChainedClassBuilder.withField(ChainedClassBuilder.java:63)
at java.base/jdk.internal.classfile.ClassBuilder.withField(ClassBuilder.java:182)
at java.base/jdk.internal.classfile.components.ClassRemapper$ClassRemapperImpl.accept(ClassRemapper.java:176)
at java.base/jdk.internal.classfile.components.ClassRemapper$ClassRemapperImpl.accept(ClassRemapper.java:170)
at java.base/jdk.internal.classfile.ClassTransform.lambda$resolve$3(ClassTransform.java:166)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at java.base/jdk.internal.classfile.impl.ClassImpl.forEachElement(ClassImpl.java:164)
at java.base/jdk.internal.classfile.ClassfileBuilder.transform(ClassfileBuilder.java:86)
at java.base/jdk.internal.classfile.impl.ClassImpl$2.accept(ClassImpl.java:181)
at java.base/jdk.internal.classfile.impl.ClassImpl$2.accept(ClassImpl.java:176)
at java.base/jdk.internal.classfile.Classfile.build(Classfile.java:217)
at java.base/jdk.internal.classfile.impl.ClassImpl.transform(ClassImpl.java:175)
Looks like an accidental missing override.