Class ModuleNode


  • public class ModuleNode
    extends ModuleVisitor
    A node that represents a module declaration.
    Author:
    Remi Forax
    • Field Detail

      • name

        public String name
        The fully qualified name (using dots) of this module.
      • access

        public int access
        The module's access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.
      • version

        public String version
        The version of this module. May be null.
      • opens

        public List<ModuleOpenNode> opens
        The packages opened by this module. May be null.
    • Constructor Detail

      • ModuleNode

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

      • visitRequire

        public void visitRequire​(String module,
                                 int access,
                                 String version)
        Description copied from class: ModuleVisitor
        Visits a dependence of the current module.
        Overrides:
        visitRequire in class ModuleVisitor
        Parameters:
        module - the fully qualified name (using dots) 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)
        Description copied from class: ModuleVisitor
        Visit an exported package of the current module.
        Overrides:
        visitExport in class ModuleVisitor
        Parameters:
        packaze - the internal name of the exported package (see Type.getInternalName()).
        access - the access flag of the exported package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
        modules - the fully qualified names (using dots) of the modules that can access the public classes of the exported package, or null.
      • visitOpen

        public void visitOpen​(String packaze,
                              int access,
                              String... modules)
        Description copied from class: ModuleVisitor
        Visit an open package of the current module.
        Overrides:
        visitOpen in class ModuleVisitor
        Parameters:
        packaze - the internal name of the opened package (see Type.getInternalName()).
        access - the access flag of the opened package, valid values are among ACC_SYNTHETIC and ACC_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

        public void visitUse​(String service)
        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 class ModuleVisitor
        Parameters:
        service - the internal name of the service (see Type.getInternalName()).
      • 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 class ModuleVisitor
      • accept

        public void accept​(ClassVisitor classVisitor)
        Makes the given class visitor visit this module.
        Parameters:
        classVisitor - a class visitor.