< prev index next >

test/jdk/lib/testlibrary/ModuleTargetHelper.java

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

@@ -27,18 +27,14 @@
 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;
 
+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,35 +54,18 @@
             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;
+        ModuleInfo.Attributes attrs = ModuleInfo.read(in, null);
+        if (attrs.target() != null) {
+            return new ModuleTarget(attrs.target().targetPlatform());
+        } else {
+            return null;
                 }
             }
-        };
 
-        // 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 {
< prev index next >