< prev index next >

src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java

Print this page
rev 47453 : imported patch jdk-new-asm-update.patch

*** 56,82 **** import java.util.function.IntSupplier; import java.util.function.Supplier; import java.util.stream.Collectors; import jdk.internal.module.Checks; - import jdk.internal.module.ClassFileAttributes; - import jdk.internal.module.ClassFileConstants; import jdk.internal.module.DefaultRoots; import jdk.internal.module.IllegalAccessMaps; import jdk.internal.module.ModuleHashes; import jdk.internal.module.ModuleInfo.Attributes; import jdk.internal.module.ModuleInfoExtender; import jdk.internal.module.ModuleReferenceImpl; import jdk.internal.module.ModuleResolution; import jdk.internal.module.ModuleTarget; ! 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.ClassWriter; import jdk.internal.org.objectweb.asm.MethodVisitor; import jdk.internal.org.objectweb.asm.Opcodes; - import static jdk.internal.org.objectweb.asm.Opcodes.*; import jdk.tools.jlink.internal.ModuleSorter; import jdk.tools.jlink.plugin.Plugin; import jdk.tools.jlink.plugin.PluginException; --- 56,80 ---- import java.util.function.IntSupplier; import java.util.function.Supplier; import java.util.stream.Collectors; import jdk.internal.module.Checks; import jdk.internal.module.DefaultRoots; import jdk.internal.module.IllegalAccessMaps; import jdk.internal.module.ModuleHashes; import jdk.internal.module.ModuleInfo.Attributes; import jdk.internal.module.ModuleInfoExtender; import jdk.internal.module.ModuleReferenceImpl; import jdk.internal.module.ModuleResolution; import jdk.internal.module.ModuleTarget; ! import jdk.internal.org.objectweb.asm.ClassReader; import jdk.internal.org.objectweb.asm.ClassVisitor; import jdk.internal.org.objectweb.asm.ClassWriter; import jdk.internal.org.objectweb.asm.MethodVisitor; + import jdk.internal.org.objectweb.asm.ModuleVisitor; import jdk.internal.org.objectweb.asm.Opcodes; import static jdk.internal.org.objectweb.asm.Opcodes.*; import jdk.tools.jlink.internal.ModuleSorter; import jdk.tools.jlink.plugin.Plugin; import jdk.tools.jlink.plugin.PluginException;
*** 433,460 **** + descriptor.name() + " are not present: " + nonExistPackages); } } boolean hasModulePackages() throws IOException { ! Set<String> attrTypes = new HashSet<>(); ! ClassVisitor cv = new ClassVisitor(Opcodes.ASM5) { @Override ! public void visitAttribute(Attribute attr) { ! attrTypes.add(attr.type); } }; ! ! // prototype of attributes that should be parsed ! Attribute[] attrs = new Attribute[] { ! new ClassFileAttributes.ModulePackagesAttribute() }; try (InputStream in = getInputStream()) { // parse module-info.class ClassReader cr = new ClassReader(in); ! cr.accept(cv, attrs, 0); ! return attrTypes.contains(ClassFileConstants.MODULE_PACKAGES); } } /** * Returns true if module-info.class should be rewritten to add the --- 431,459 ---- + descriptor.name() + " are not present: " + nonExistPackages); } } boolean hasModulePackages() throws IOException { ! Set<String> packages = new HashSet<>(); ! ClassVisitor cv = new ClassVisitor(Opcodes.ASM6) { @Override ! public ModuleVisitor visitModule(String name, ! int flags, ! String version) { ! return new ModuleVisitor(Opcodes.ASM6) { ! public void visitPackage(String pn) { ! packages.add(pn); } }; ! } }; try (InputStream in = getInputStream()) { // parse module-info.class ClassReader cr = new ClassReader(in); ! cr.accept(cv, 0); ! return packages.size() > 0; } } /** * Returns true if module-info.class should be rewritten to add the
< prev index next >