List of usage examples for org.objectweb.asm ModuleVisitor ModuleVisitor
public ModuleVisitor(final int api, final ModuleVisitor moduleVisitor)
From source file:co.paralleluniverse.fibers.instrument.ModuleFilterTask.java
License:Open Source License
private void filter(File file) { try {/*w w w .jav a2 s . c o m*/ ClassWriter cw = null; try (FileInputStream fis = new FileInputStream(file)) { ClassReader cr = new ClassReader(fis); cw = new ClassWriter(cr, 0); cr.accept(new ClassVisitor(Opcodes.ASM7, cw) { @Override public ModuleVisitor visitModule(String name, int access, String version) { return new ModuleVisitor(Opcodes.ASM7, super.visitModule(name, access, version)) { @Override public void visitRequire(String module, int access, String version) { if (!module.contains(mod)) { super.visitRequire(module, access, version); } } }; } }, 0); } try (FileOutputStream fos = new FileOutputStream(file)) { fos.write(cw.toByteArray()); } } catch (IOException ex) { throw new BuildException("Filterin module-info file " + file, ex); } }