org.mvel2.asm
Class ModuleVisitor

java.lang.Object
  extended by org.mvel2.asm.ModuleVisitor
Direct Known Subclasses:
CheckModuleAdapter, ModuleNode, ModuleRemapper, SAXModuleAdapter, TraceModuleVisitor

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: visitMainClass | ( visitPackage | visitRequire | visitExport | visitOpen | visitUse | visitProvide )* visitEnd. The methods visitRequire(String, int, String), visitExport(String, int, String...), visitOpen(String, int, String...) and visitPackage(String) take as parameter a package name or a module name. Unlike the other names which are internal names (names separated by slash), module and package names are qualified names (names separated by dot).

Author:
Remi Forax

Field Summary
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.
 
Constructor Summary
ModuleVisitor(int api)
          Constructs a new ModuleVisitor.
ModuleVisitor(int api, ModuleVisitor mv)
          Constructs a new ModuleVisitor.
 
Method Summary
 void visitEnd()
          Visits the end of the module.
 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 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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.

Constructor Detail

ModuleVisitor

public ModuleVisitor(int api)
Constructs a new ModuleVisitor.

Parameters:
api - the ASM API version implemented by this visitor. Must be Opcodes.ASM6.

ModuleVisitor

public ModuleVisitor(int api,
                     ModuleVisitor mv)
Constructs a new ModuleVisitor.

Parameters:
api - the ASM API version implemented by this visitor. Must be Opcodes.ASM6.
mv - the module visitor to which this visitor must delegate method calls. May be null.
Method Detail

visitMainClass

public void visitMainClass(String mainClass)
Visit the main class of the current module.

Parameters:
mainClass - the internal name of the main class of the current module.

visitPackage

public void visitPackage(String packaze)
Visit a package of the current module.

Parameters:
packaze - the qualified name of a package.

visitRequire

public void visitRequire(String module,
                         int access,
                         String version)
Visits a dependence of the current module.

Parameters:
module - the qualified 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.

Parameters:
packaze - the qualified name of the exported package.
access - the access flag of the exported package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
modules - the qualified 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.

Parameters:
packaze - the qualified name of the opened package.
access - the access flag of the opened package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
modules - the qualified 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 internal name of an interface or a class.

Parameters:
service - the internal name of the service.

visitProvide

public void visitProvide(String service,
                         String... providers)
Visit an implementation of a service.

Parameters:
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()
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.



Copyright © 2001–2018 JBoss by Red Hat. All rights reserved.