< prev index next >
test/jdk/tools/jlink/plugins/SystemModuleDescriptors/src/m1/p1/Main.java
Print this page
rev 47454 : [mq]: jdk-new-asm-test.patch
*** 1,7 ****
/*
! * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 32,72 ****
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Collections;
import java.util.Set;
! import jdk.internal.module.ClassFileAttributes;
! import jdk.internal.module.ClassFileAttributes.ModuleTargetAttribute;
! import jdk.internal.module.ClassFileConstants;
! 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 Main {
private static boolean hasModuleTarget(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);
- return modTargets[0] != null && modTargets[0].targetPlatform() != null;
- }
-
public static void main(String... args) throws Exception {
// load another package
p2.T.test();
// validate the module descriptor
--- 32,50 ----
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Collections;
import java.util.Set;
! import jdk.internal.module.ModuleInfo;
! import jdk.internal.module.ModuleInfo.Attributes;
public class Main {
private static boolean hasModuleTarget(InputStream in) throws IOException {
! ModuleInfo.Attributes attrs = ModuleInfo.read(in, null);
! return attrs.target() != null;
}
public static void main(String... args) throws Exception {
// load another package
p2.T.test();
// validate the module descriptor
< prev index next >