8317609: Classfile API fails to verify /jdk.jcmd/sun/tools/jstat/Alignment.class

Reviewed-by: liach, alanb
This commit is contained in:
Adam Sotona 2023-10-31 16:13:41 +00:00
parent 47624f6fc6
commit f1e8787393

@ -30,6 +30,7 @@ import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import jdk.internal.classfile.ClassHierarchyResolver;
import jdk.internal.classfile.Classfile;
import jdk.internal.jimage.BasicImageReader;
@ -222,7 +223,10 @@ public class JImageValidator {
}
public static void readClass(byte[] clazz) throws IOException{
var errors = Classfile.of().parse(clazz).verify(null);
var errors = Classfile.of().parse(clazz).verify(
//resolution of all classes as interfaces cancels assignability verification
cls -> ClassHierarchyResolver.ClassHierarchyInfo.ofInterface(),
null);
if (!errors.isEmpty()) {
var itr = errors.iterator();
var thrown = itr.next();