org.springframework.asm

## 类 ModuleVisitor

- java.lang.Object
- - org.springframework.asm.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

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected int` | `api` The ASM API version implemented by this visitor.
    `protected ModuleVisitor` | `mv` The module visitor to which this visitor must delegate method calls.

  - ### 构造器概要

    构造器
    构造器和说明
    `ModuleVisitor(int api)`
    `ModuleVisitor(int api, ModuleVisitor mv)` Constructs a new `MethodVisitor`.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `visitEnd()`
    `void` | `visitExport(String packaze, int access, String... modules)` Visit an exported package of the current module.
    `void` | `visitMainClass(String mainClass)` Visit the main class of the current module.
    `void` | `visitOpen(String packaze, int access, String... modules)` Visit an open package of the current module.
    `void` | `visitPackage(String packaze)` Visit a concealed package of the current module.
    `void` | `visitProvide(String service, String... providers)` Visit an implementation of a service.
    `void` | `visitRequire(String module, int access, String version)` Visits a dependence of the current module.
    `void` | `visitUse(String service)` Visit a service used by the current module.

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### 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

          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).

    - #### visitEnd

          public void visitEnd()