I got Exception: Could not resolve class
Øystein Myhre Andersen
o.myhre at gmail.com
Fri Oct 18 07:39:58 UTC 2024
Below is a snippet of my code:
public byte[] buildClassFile() {
ClassDesc CD_ThisClass = currentClassDesc();
ClassDesc CD_SuperClass = superClassDesc();
ClassHierarchy.addClassToSuperClass(CD_ThisClass, CD_SuperClass);
try {
byte[] bytes =
ClassFile.of(ClassFile.ClassHierarchyResolverOption.of(ClassHierarchy.getResolver())).build(CD_ThisClass,
...
return(bytes);
} catch(Throwable e) {
ClassHierarchyResolver resolver = ClassHierarchy.getResolver();
ClassDesc desc = ClassDesc.of("simulaFEC.CLASS_CHECKER1_semchecker1_exp");
System.out.println("classInfo("+desc+") = " + resolver.getClassInfo(desc));
e.printStackTrace();
return null;
}
}
When I run this code I get:
classInfo(ClassDesc[CLASS_CHECKER1_semchecker1_exp]) =
ClassHierarchyInfoImpl[superClass=ClassDesc[RTS_CLASS], isInterface=false]
java.lang.IllegalArgumentException: Could not resolve class
CLASS_CHECKER1_semchecker1_exp
at
java.base/jdk.internal.classfile.impl.ClassHierarchyImpl.resolve(ClassHierarchyImpl.java:76)
at
java.base/jdk.internal.classfile.impl.ClassHierarchyImpl.isInterface(ClassHierarchyImpl.java:86)
at
java.base/jdk.internal.classfile.impl.StackMapGenerator$Type.mergeReferenceFrom(StackMapGenerator.java:1334)
.....
I use my own 'resolver' which answers that 'CLASS_CHECKER1_semchecker1_exp'
is a subclass of 'RTS_CLASS'.
I don't understand this.
- Øystein Myhre Andersen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/classfile-api-dev/attachments/20241018/afb6ec4c/attachment.htm>
More information about the classfile-api-dev
mailing list