< 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 >