Package org.objectweb.asm.util
Class CheckModuleAdapter
java.lang.Object
org.objectweb.asm.ModuleVisitor
org.objectweb.asm.util.CheckModuleAdapter
A
ModuleVisitor
that checks that its methods are properly used.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) int
The class version number.private final CheckModuleAdapter.NameSet
The internal names of the packages exported by the visited module.private final boolean
Whether the visited module is open.private final CheckModuleAdapter.NameSet
The internal names of the packages opened by the visited module.private final CheckModuleAdapter.NameSet
The internal names of the services provided by the visited module.private final CheckModuleAdapter.NameSet
The fully qualified names of the dependencies of the visited module.private final CheckModuleAdapter.NameSet
The internal names of the services used by the visited module.private boolean
Whether thevisitEnd()
method has been called.Fields inherited from class org.objectweb.asm.ModuleVisitor
api, mv
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
CheckModuleAdapter
(int api, ModuleVisitor moduleVisitor, boolean isOpen) Constructs a newCheckModuleAdapter
.CheckModuleAdapter
(ModuleVisitor moduleVisitor, boolean isOpen) Constructs a newCheckModuleAdapter
. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
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
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
Visit a service used by the current module.
-
Field Details
-
isOpen
private final boolean isOpenWhether the visited module is open. -
requiredModules
The fully qualified names of the dependencies of the visited module. -
exportedPackages
The internal names of the packages exported by the visited module. -
openedPackages
The internal names of the packages opened by the visited module. -
usedServices
The internal names of the services used by the visited module. -
providedServices
The internal names of the services provided by the visited module. -
classVersion
int classVersionThe class version number. -
visitEndCalled
private boolean visitEndCalledWhether thevisitEnd()
method has been called.
-
-
Constructor Details
-
CheckModuleAdapter
Constructs a newCheckModuleAdapter
. Subclasses must not use this constructor. Instead, they must use theCheckModuleAdapter(int, ModuleVisitor, boolean)
version.- Parameters:
moduleVisitor
- the module visitor to which this adapter must delegate calls.isOpen
- whether the visited module is open. Open modules have theirOpcodes.ACC_OPEN
access flag set inClassVisitor.visitModule(java.lang.String, int, java.lang.String)
.- Throws:
IllegalStateException
- If a subclass calls this constructor.
-
CheckModuleAdapter
Constructs a newCheckModuleAdapter
.- Parameters:
api
- the ASM API version implemented by this visitor. Must be one of theASM
x values inOpcodes
.moduleVisitor
- the module visitor to which this adapter must delegate calls.isOpen
- whether the visited module is open. Open modules have theirOpcodes.ACC_OPEN
access flag set inClassVisitor.visitModule(java.lang.String, int, java.lang.String)
.
-
-
Method Details
-
visitMainClass
Description copied from class:ModuleVisitor
Visit the main class of the current module.- Overrides:
visitMainClass
in classModuleVisitor
- Parameters:
mainClass
- the internal name of the main class of the current module.
-
visitPackage
Description copied from class:ModuleVisitor
Visit a package of the current module.- Overrides:
visitPackage
in classModuleVisitor
- Parameters:
packaze
- the internal name of a package.
-
visitRequire
Description copied from class:ModuleVisitor
Visits a dependence of the current module.- Overrides:
visitRequire
in classModuleVisitor
- Parameters:
module
- the fully qualified name (using dots) of the dependence.access
- the access flag of the dependence amongACC_TRANSITIVE
,ACC_STATIC_PHASE
,ACC_SYNTHETIC
andACC_MANDATED
.version
- the module version at compile time, or null.
-
visitExport
Description copied from class:ModuleVisitor
Visit an exported package of the current module.- Overrides:
visitExport
in classModuleVisitor
- Parameters:
packaze
- the internal name of the exported package.access
- the access flag of the exported package, valid values are amongACC_SYNTHETIC
andACC_MANDATED
.modules
- the fully qualified names (using dots) of the modules that can access the public classes of the exported package, or null.
-
visitOpen
Description copied from class:ModuleVisitor
Visit an open package of the current module.- Overrides:
visitOpen
in classModuleVisitor
- Parameters:
packaze
- the internal name of the opened package.access
- the access flag of the opened package, valid values are amongACC_SYNTHETIC
andACC_MANDATED
.modules
- the fully qualified names (using dots) of the modules that can use deep reflection to the classes of the open package, or null.
-
visitUse
Description copied from class:ModuleVisitor
Visit a service used by the current module. The name must be the internal name of an interface or a class.- Overrides:
visitUse
in classModuleVisitor
- Parameters:
service
- the internal name of the service.
-
visitProvide
Description copied from class:ModuleVisitor
Visit an implementation of a service.- Overrides:
visitProvide
in classModuleVisitor
- 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()Description copied from class:ModuleVisitor
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.- Overrides:
visitEnd
in classModuleVisitor
-
checkVisitEndNotCalled
private void checkVisitEndNotCalled()
-