< prev index next >

test/jdk/lib/testlibrary/ModuleTargetHelper.java

Print this page
rev 47454 : [mq]: jdk-new-asm-test.patch

*** 27,44 **** import java.lang.module.ModuleReference; import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; - import jdk.internal.module.ClassFileConstants; - import jdk.internal.module.ClassFileAttributes; - import jdk.internal.module.ClassFileAttributes.ModuleTargetAttribute; - import jdk.internal.org.objectweb.asm.Attribute; - import jdk.internal.org.objectweb.asm.ClassReader; - import jdk.internal.org.objectweb.asm.ClassVisitor; - import jdk.internal.org.objectweb.asm.Opcodes; public class ModuleTargetHelper { private ModuleTargetHelper() {} public static final class ModuleTarget { private String targetPlatform; --- 27,40 ---- import java.lang.module.ModuleReference; import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; + import jdk.internal.module.ModuleInfo; + import jdk.internal.module.ModuleInfo.Attributes; + public class ModuleTargetHelper { private ModuleTargetHelper() {} public static final class ModuleTarget { private String targetPlatform;
*** 58,92 **** return read(in); } } public static ModuleTarget read(InputStream in) throws IOException { ! ModuleTargetAttribute[] modTargets = new ModuleTargetAttribute[1]; ! ClassVisitor cv = new ClassVisitor(Opcodes.ASM5) { ! @Override ! public void visitAttribute(Attribute attr) { ! if (attr instanceof ModuleTargetAttribute) { ! modTargets[0] = (ModuleTargetAttribute)attr; } } - }; - // prototype of attributes that should be parsed - Attribute[] attrs = new Attribute[] { - new ModuleTargetAttribute() - }; - - // parse module-info.class - ClassReader cr = new ClassReader(in); - cr.accept(cv, attrs, 0); - if (modTargets[0] != null) { - return new ModuleTarget(modTargets[0].targetPlatform()); - } - - return null; - } - public static ModuleTarget read(ModuleReference modRef) throws IOException { ModuleReader reader = modRef.open(); try (InputStream in = reader.open("module-info.class").get()) { return read(in); } finally { --- 54,71 ---- return read(in); } } public static ModuleTarget read(InputStream in) throws IOException { ! ModuleInfo.Attributes attrs = ModuleInfo.read(in, null); ! if (attrs.target() != null) { ! return new ModuleTarget(attrs.target().targetPlatform()); ! } else { ! return null; } } public static ModuleTarget read(ModuleReference modRef) throws IOException { ModuleReader reader = modRef.open(); try (InputStream in = reader.open("module-info.class").get()) { return read(in); } finally {
< prev index next >