public abstract class ModuleVisitor extends Object
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).Modifier and Type | Field and 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 and Description |
---|
ModuleVisitor(int api)
Constructs a new
ModuleVisitor . |
ModuleVisitor(int api,
ModuleVisitor mv)
Constructs a new
ModuleVisitor . |
Modifier and Type | Method and Description |
---|---|
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.
|
protected final int api
Opcodes.ASM6
.protected ModuleVisitor mv
public ModuleVisitor(int api)
ModuleVisitor
.api
- the ASM API version implemented by this visitor. Must be Opcodes.ASM6
.public ModuleVisitor(int api, ModuleVisitor mv)
ModuleVisitor
.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.public void visitMainClass(String mainClass)
mainClass
- the internal name of the main class of the current module.public void visitPackage(String packaze)
packaze
- the qualified name of a package.public void visitRequire(String module, int access, String version)
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.public void visitExport(String packaze, int access, String... modules)
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.public void visitOpen(String packaze, int access, String... modules)
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.public void visitUse(String service)
service
- the internal name of the service.public void visitProvide(String service, String... providers)
service
- the internal name of the serviceproviders
- the internal names of the implementations
of the service (there is at least one provider).public void visitEnd()