mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8294971: jdk.jlink jdk.tools.jimage.JImageTask is using ASM to verify classes
Reviewed-by: mchung
This commit is contained in:
parent
0f26d09da8
commit
b1d89f3066
2 changed files with 13 additions and 5 deletions
|
@ -190,6 +190,8 @@ module java.base {
|
|||
jdk.jlink;
|
||||
exports jdk.internal.logger to
|
||||
java.logging;
|
||||
exports jdk.internal.classfile to
|
||||
jdk.jlink;
|
||||
exports jdk.internal.org.objectweb.asm to
|
||||
jdk.jartool,
|
||||
jdk.jfr,
|
||||
|
|
|
@ -39,12 +39,14 @@ import java.util.MissingResourceException;
|
|||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import jdk.internal.classfile.ClassModel;
|
||||
import jdk.internal.classfile.Classfile;
|
||||
import jdk.internal.classfile.CodeModel;
|
||||
import jdk.internal.classfile.MethodModel;
|
||||
|
||||
import jdk.internal.jimage.BasicImageReader;
|
||||
import jdk.internal.jimage.ImageHeader;
|
||||
import jdk.internal.jimage.ImageLocation;
|
||||
import jdk.internal.org.objectweb.asm.ClassReader;
|
||||
import jdk.internal.org.objectweb.asm.tree.ClassNode;
|
||||
import jdk.tools.jlink.internal.ImageResourcesTree;
|
||||
import jdk.tools.jlink.internal.TaskHelper;
|
||||
import jdk.tools.jlink.internal.TaskHelper.BadArgs;
|
||||
|
@ -366,9 +368,13 @@ class JImageTask {
|
|||
if (name.endsWith(".class") && !name.endsWith("module-info.class")) {
|
||||
try {
|
||||
byte[] bytes = reader.getResource(location);
|
||||
ClassReader cr = new ClassReader(bytes);
|
||||
ClassNode cn = new ClassNode();
|
||||
cr.accept(cn, 0);
|
||||
Classfile.parse(bytes).forEachElement(cle -> {
|
||||
if (cle instanceof MethodModel mm) mm.forEachElement(me -> {
|
||||
if (me instanceof CodeModel com) com.forEachElement(coe -> {
|
||||
//do nothing here, just visit each model element
|
||||
});
|
||||
});
|
||||
});
|
||||
} catch (Exception ex) {
|
||||
log.println("Error(s) in Class: " + name);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue