类 ModuleVisitor


  • public abstract class ModuleVisitor
    extends Object
    A visitor to visit a Java module. The methods of this class must be called in the following order: visitVersion | visitMainClass | visitTargetPlatform | ( visitConcealedPackage | visitRequire | visitExport | visitUse | visitProvide )* visitEnd.
    作者:
    Remi Forax
    • 字段详细资料

      • api

        protected final int api
        The ASM API version implemented by this visitor. The value of this field must be Opcodes.ASM6.
      • mv

        protected ModuleVisitor mv
        The module visitor to which this visitor must delegate method calls. May be null.
    • 构造器详细资料

      • ModuleVisitor

        public ModuleVisitor​(int api,
                             ModuleVisitor mv)
        Constructs a new MethodVisitor.
        参数:
        api - the ASM API version implemented by this visitor. Must be Opcodes.ASM6.
        mv - the method visitor to which this visitor must delegate method calls. May be null.
    • 方法详细资料

      • visitMainClass

        public void visitMainClass​(String mainClass)
        Visit the main class of the current module.
        参数:
        mainClass - the main class of the current module.
      • visitPackage

        public void visitPackage​(String packaze)
        Visit a concealed package of the current module.
        参数:
        packaze - name of a concealed package
      • visitRequire

        public void visitRequire​(String module,
                                 int access,
                                 String version)
        Visits a dependence of the current module.
        参数:
        module - the module name of the dependence
        access - the access flag of the dependence among ACC_TRANSITIVE, ACC_STATIC_PHASE, ACC_SYNTHETIC and ACC_MANDATED.
        version - the module version at compile time or null.
      • visitExport

        public void visitExport​(String packaze,
                                int access,
                                String... modules)
        Visit an exported package of the current module.
        参数:
        packaze - the name of the exported package.
        access - the access flag of the exported package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
        modules - names of the modules that can access to the public classes of the exported package or null.
      • visitOpen

        public void visitOpen​(String packaze,
                              int access,
                              String... modules)
        Visit an open package of the current module.
        参数:
        packaze - the name of the opened package.
        access - the access flag of the opened package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
        modules - names of the modules that can use deep reflection to the classes of the open package or null.
      • visitUse

        public void visitUse​(String service)
        Visit a service used by the current module. The name must be the name of an interface or an abstract class.
        参数:
        service - the internal name of the service.
      • visitProvide

        public void visitProvide​(String service,
                                 String... providers)
        Visit an implementation of a service.
        参数:
        service - the internal name of the service
        providers - the internal names of the implementations of the service (there is at least one provider).