Class ModuleNode


  • public class ModuleNode
    extends ModuleVisitor
    A node that represents a module declaration.
    • 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.
      • mainClass

        public String mainClass
        The internal name of the main class of this module. May be null.
      • packages

        public List<String> packages
        The internal name of the packages declared by this module. May be null.
      • opens

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

        public List<String> uses
        The internal names of the services used 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 or Opcodes.ASM7.
        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. May be null.
        provides - The services provided by this module. May be null.
    • Method Detail

      • visitMainClass

        public void visitMainClass​(String mainClass)
        Description copied from class: ModuleVisitor
        Visit the main class of the current module.
        Overrides:
        visitMainClass in class ModuleVisitor
        Parameters:
        mainClass - the internal name of the main class of the current module.
      • visitPackage

        public void visitPackage​(String packaze)
        Description copied from class: ModuleVisitor
        Visit a package of the current module.
        Overrides:
        visitPackage in class ModuleVisitor
        Parameters:
        packaze - the internal name of a package.
      • 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.
        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.
        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.
      • visitProvide

        public void visitProvide​(String service,
                                 String... providers)
        Description copied from class: ModuleVisitor
        Visit an implementation of a service.
        Overrides:
        visitProvide in class ModuleVisitor
        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 class ModuleVisitor
      • accept

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