/** * Visits the end of the module. This method, which is the last one to be called, is used to * inform the visitor that everything have been visited. */ public void visitEnd() { if (mv != null) { mv.visitEnd(); } } }
/** * Visit the main class of the current module. * * @param mainClass the internal name of the main class of the current module. */ public void visitMainClass(final String mainClass) { if (mv != null) { mv.visitMainClass(mainClass); } }
/** * Visit a package of the current module. * * @param packaze the internal name of a package. */ public void visitPackage(final String packaze) { if (mv != null) { mv.visitPackage(packaze); } }
/** * Visit an implementation of a service. * * @param service the internal name of the service. * @param providers the internal names of the implementations of the service (there is at least * one provider). */ public void visitProvide(final String service, final String... providers) { if (mv != null) { mv.visitProvide(service, providers); } }
/** * Visit a service used by the current module. The name must be the internal name of an interface * or a class. * * @param service the internal name of the service. */ public void visitUse(final String service) { if (mv != null) { mv.visitUse(service); } }
/** * Visits a dependence of the current module. * * @param module the fully qualified name (using dots) of the dependence. * @param access the access flag of the dependence among {@code ACC_TRANSITIVE}, {@code * ACC_STATIC_PHASE}, {@code ACC_SYNTHETIC} and {@code ACC_MANDATED}. * @param version the module version at compile time, or <tt>null</tt>. */ public void visitRequire(final String module, final int access, final String version) { if (mv != null) { mv.visitRequire(module, access, version); } }
/** * Visit an exported package of the current module. * * @param packaze the internal name of the exported package. * @param access the access flag of the exported package, valid values are among {@code * ACC_SYNTHETIC} and {@code ACC_MANDATED}. * @param modules the fully qualified names (using dots) of the modules that can access the public * classes of the exported package, or <tt>null</tt>. */ public void visitExport(final String packaze, final int access, final String... modules) { if (mv != null) { mv.visitExport(packaze, access, modules); } }
/** * Visit an open package of the current module. * * @param packaze the internal name of the opened package. * @param access the access flag of the opened package, valid values are among {@code * ACC_SYNTHETIC} and {@code ACC_MANDATED}. * @param modules the fully qualified names (using dots) of the modules that can use deep * reflection to the classes of the open package, or <tt>null</tt>. */ public void visitOpen(final String packaze, final int access, final String... modules) { if (mv != null) { mv.visitOpen(packaze, access, modules); } }