Top Description Fields Constructors Methods
org.eclipse.persistence.internal.libraries.asm.tree

public Class ModuleNode

extends ModuleVisitor
Class Inheritance
Imports
java.util.ArrayList, .List, org.eclipse.persistence.internal.libraries.asm.ClassVisitor, .ModuleVisitor, .Opcodes

A node that represents a module declaration.
Author
Remi Forax

Field Summary

Modifier and TypeField and Description
public int
access

The module's access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.

public List<ModuleExportNode>
exports

The packages exported by this module.

public String
mainClass

The internal name of the main class of this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()).

public String
name

The fully qualified name (using dots) of this module.

public List<ModuleOpenNode>
opens

The packages opened by this module.

public List<String>
packages

The internal name of the packages declared by this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()).

public List<ModuleProvideNode>
provides

The services provided by this module.

public List<ModuleRequireNode>
requires

The dependencies of this module.

public List<String>
uses

The internal names of the services used by this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()).

public String
version

The version of this module.

Inherited from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor:
apimv

Constructor Summary

AccessConstructor and Description
public
ModuleNode(final String
the fully qualified name (using dots) of the module.
name
,
final int
the module access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String
the module version, or null.
version
)

Constructs a ModuleNode.

public
ModuleNode(final int
the ASM API version implemented by this visitor. Must be one of Opcodes#ASM6, Opcodes#ASM7, Opcodes#ASM8 or Opcodes#ASM9.
api
,
final String
the fully qualified name (using dots) of the module.
name
,
final int
the module access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String
the module version, or null.
version
,
final List<ModuleRequireNode>
The dependencies of this module. May be null.
requires
,
final List<ModuleExportNode>
The packages exported by this module. May be null.
exports
,
final List<ModuleOpenNode>
The packages opened by this module. May be null.
opens
,
final List<String>
The internal names of the services used by this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()). May be null.
uses
,
final List<ModuleProvideNode>
The services provided by this module. May be null.
provides
)

Constructs a ModuleNode.

Method Summary

Modifier and TypeMethod and Description
public void
accept(final ClassVisitor
a class visitor.
classVisitor
)

Makes the given class visitor visit this module.

public void
public void
visitExport(final String
the internal name of the exported package (see Type#getInternalName()).
packaze
,
final int
the access flag of the exported package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String...
the fully qualified names (using dots) of the modules that can access the public classes of the exported package, or null.
modules
)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitExport.

Visit an exported package of the current module.
public void
visitMainClass(final String
the internal name of the main class of the current module (see Type#getInternalName()).
mainClass
)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitMainClass.

Visit the main class of the current module.
public void
visitOpen(final String
the internal name of the opened package (see Type#getInternalName()).
packaze
,
final int
the access flag of the opened package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String...
the fully qualified names (using dots) of the modules that can use deep reflection to the classes of the open package, or null.
modules
)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitOpen.

Visit an open package of the current module.
public void
visitPackage(final String
the internal name of a package (see Type#getInternalName()).
packaze
)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitPackage.

Visit a package of the current module.
public void
visitProvide(final String
the internal name of the service (see Type#getInternalName()).
service
,
final String...
the internal names (see Type#getInternalName()) of the implementations of the service (there is at least one provider).
providers
)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitProvide.

Visit an implementation of a service.
public void
visitRequire(final String
the fully qualified name (using dots) of the dependence.
module
,
final int
the access flag of the dependence among ACC_TRANSITIVE, ACC_STATIC_PHASE, ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String
the module version at compile time, or null.
version
)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitRequire.

Visits a dependence of the current module.
public void
visitUse(final String
the internal name of the service (see Type#getInternalName()).
service
)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitUse.

Visit a service used by the current module.
Inherited from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor:
getDelegate

Field Detail

accessback to summary
public int access

The module's access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.

exportsback to summary
public List<ModuleExportNode> exports

The packages exported by this module. May be null.

mainClassback to summary
public String mainClass

The internal name of the main class of this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()). May be null.

nameback to summary
public String name

The fully qualified name (using dots) of this module.

opensback to summary
public List<ModuleOpenNode> opens

The packages opened by this module. May be null.

packagesback to summary
public List<String> packages

The internal name of the packages declared by this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()). May be null.

providesback to summary
public List<ModuleProvideNode> provides

The services provided by this module. May be null.

requiresback to summary
public List<ModuleRequireNode> requires

The dependencies of this module. May be null.

usesback to summary
public List<String> uses

The internal names of the services used by this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()). May be null.

versionback to summary
public String version

The version of this module. May be null.

Constructor Detail

ModuleNodeback to summary
public ModuleNode(final String name, final int access, final String version)

Constructs a ModuleNode. Subclasses must not use this constructor. Instead, they must use the ModuleNode(int, String, int, String, List, List, List, List, List) version.

Parameters
name:String

the fully qualified name (using dots) of the module.

access:int

the module access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.

version:String

the module version, or null.

Exceptions
IllegalStateException:
If a subclass calls this constructor.
ModuleNodeback to summary
public ModuleNode(final int api, final String name, final int access, final String version, final List<ModuleRequireNode> requires, final List<ModuleExportNode> exports, final List<ModuleOpenNode> opens, final List<String> uses, final List<ModuleProvideNode> provides)

Constructs a ModuleNode.

Parameters
api:int

the ASM API version implemented by this visitor. Must be one of Opcodes#ASM6, Opcodes#ASM7, Opcodes#ASM8 or Opcodes#ASM9.

name:String

the fully qualified name (using dots) of the module.

access:int

the module access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.

version:String

the module version, or null.

requires:List<ModuleRequireNode>

The dependencies of this module. May be null.

exports:List<ModuleExportNode>

The packages exported by this module. May be null.

opens:List<ModuleOpenNode>

The packages opened by this module. May be null.

uses:List<String>

The internal names of the services used by this module (see org.eclipse.persistence.internal.libraries.asm.Type#getInternalName()). May be null.

provides:List<ModuleProvideNode>

The services provided by this module. May be null.

Method Detail

acceptback to summary
public void accept(final ClassVisitor classVisitor)

Makes the given class visitor visit this module.

Parameters
classVisitor:ClassVisitor

a class visitor.

visitEndback to summary
public void visitEnd()

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitEnd.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.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.

Annotations
@Override
visitExportback to summary
public void visitExport(final String packaze, final int access, final String... modules)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitExport.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitExport.

Visit an exported package of the current module.

Parameters
packaze:String

the internal name of the exported package (see Type#getInternalName()).

access:int

the access flag of the exported package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.

modules:String[]

the fully qualified names (using dots) of the modules that can access the public classes of the exported package, or null.

Annotations
@Override
visitMainClassback to summary
public void visitMainClass(final String mainClass)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitMainClass.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitMainClass.

Visit the main class of the current module.

Parameters
mainClass:String

the internal name of the main class of the current module (see Type#getInternalName()).

Annotations
@Override
visitOpenback to summary
public void visitOpen(final String packaze, final int access, final String... modules)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitOpen.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitOpen.

Visit an open package of the current module.

Parameters
packaze:String

the internal name of the opened package (see Type#getInternalName()).

access:int

the access flag of the opened package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.

modules:String[]

the fully qualified names (using dots) of the modules that can use deep reflection to the classes of the open package, or null.

Annotations
@Override
visitPackageback to summary
public void visitPackage(final String packaze)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitPackage.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitPackage.

Visit a package of the current module.

Parameters
packaze:String

the internal name of a package (see Type#getInternalName()).

Annotations
@Override
visitProvideback to summary
public void visitProvide(final String service, final String... providers)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitProvide.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitProvide.

Visit an implementation of a service.

Parameters
service:String

the internal name of the service (see Type#getInternalName()).

providers:String[]

the internal names (see Type#getInternalName()) of the implementations of the service (there is at least one provider).

Annotations
@Override
visitRequireback to summary
public void visitRequire(final String module, final int access, final String version)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitRequire.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitRequire.

Visits a dependence of the current module.

Parameters
module:String

the fully qualified name (using dots) of the dependence.

access:int

the access flag of the dependence among ACC_TRANSITIVE, ACC_STATIC_PHASE, ACC_SYNTHETIC and ACC_MANDATED.

version:String

the module version at compile time, or null.

Annotations
@Override
visitUseback to summary
public void visitUse(final String service)

Overrides org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitUse.

Doc from org.eclipse.persistence.internal.libraries.asm.ModuleVisitor.visitUse.

Visit a service used by the current module. The name must be the internal name of an interface or a class.

Parameters
service:String

the internal name of the service (see Type#getInternalName()).

Annotations
@Override