Package org.springframework.asm
Class 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.- Author:
- Remi Forax
Field Summary
Fields Modifier and Type Field Description 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
Constructors Constructor Description ModuleVisitor(int api)
ModuleVisitor(int api, ModuleVisitor mv)
Constructs a newMethodVisitor
.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
Field Detail
api
protected final int api
The ASM API version implemented by this visitor. The value of this field must beOpcodes.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)
ModuleVisitor
public ModuleVisitor(int api, ModuleVisitor mv)
Constructs a newMethodVisitor
.- Parameters:
api
- the ASM API version implemented by this visitor. Must beOpcodes.ASM6
.mv
- the method 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 main class of the current module.
visitPackage
public void visitPackage(String packaze)
Visit a concealed package of the current module.- Parameters:
packaze
- name of a concealed package
visitRequire
public void visitRequire(String module, int access, String version)
Visits a dependence of the current module.- Parameters:
module
- the module name of the dependenceaccess
- 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 name of the exported package.access
- the access flag of the exported package, valid values are amongACC_SYNTHETIC
andACC_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.- Parameters:
packaze
- the name of the opened package.access
- the access flag of the opened package, valid values are amongACC_SYNTHETIC
andACC_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.- 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 serviceproviders
- the internal names of the implementations of the service (there is at least one provider).
visitEnd
public void visitEnd()