Class ModuleNode

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.ModuleNode
All Implemented Interfaces:
NodeMetaDataHandler, org.objectweb.asm.Opcodes

public class ModuleNode
extends ASTNode
implements org.objectweb.asm.Opcodes
Represents a module, which consists typically of a class declaration but could include some imports, some statements and multiple classes intermixed with statements like scripts in Python or Ruby
  • Constructor Details

    • ModuleNode

      public ModuleNode​(SourceUnit context)
    • ModuleNode

      public ModuleNode​(CompileUnit unit)
  • Method Details

    • getClasses

      public List<ClassNode> getClasses()
    • getMethods

      public List<MethodNode> getMethods()
      Returns:
      the module's methods
    • getImports

      public List<ImportNode> getImports()
      Returns:
      a copy of the module's imports
    • getStarImports

      public List<ImportNode> getStarImports()
      Returns:
      the module's star imports
    • getStaticImports

      public Map<String,​ImportNode> getStaticImports()
      Returns:
      the module's static imports
    • getStaticStarImports

      public Map<String,​ImportNode> getStaticStarImports()
      Returns:
      the module's static star imports
    • getImportType

      public ClassNode getImportType​(String alias)
      Parameters:
      alias - the name of interest
      Returns:
      the import type for the given alias or null if none is available
    • getImport

      public ImportNode getImport​(String alias)
      Parameters:
      alias - the name of interest
      Returns:
      the import node for the given alias or null if none is available
    • addImport

      public void addImport​(String alias, ClassNode type)
    • addImport

      public void addImport​(String alias, ClassNode type, List<AnnotationNode> annotations)
    • addStarImport

      public void addStarImport​(String packageName)
    • addStarImport

      public void addStarImport​(String packageName, List<AnnotationNode> annotations)
    • addStaticImport

      public void addStaticImport​(ClassNode type, String fieldName, String alias)
    • addStaticImport

      public void addStaticImport​(ClassNode type, String fieldName, String alias, List<AnnotationNode> annotations)
    • addStaticStarImport

      public void addStaticStarImport​(String name, ClassNode type)
    • addStaticStarImport

      public void addStaticStarImport​(String name, ClassNode type, List<AnnotationNode> annotations)
    • addStatement

      public void addStatement​(Statement node)
    • addClass

      public void addClass​(ClassNode node)
    • addMethod

      public void addMethod​(MethodNode node)
    • visit

      public void visit​(GroovyCodeVisitor visitor)
      Overrides:
      visit in class ASTNode
    • getPackageName

      public String getPackageName()
    • getPackage

      public PackageNode getPackage()
    • hasPackage

      public boolean hasPackage()
    • setPackage

      public void setPackage​(PackageNode packageNode)
    • hasPackageName

      public boolean hasPackageName()
    • setPackageName

      public void setPackageName​(String packageName)
    • getDescription

      public String getDescription()
      Returns:
      the underlying character stream description
    • setDescription

      public void setDescription​(String description)
    • getUnit

      public CompileUnit getUnit()
    • getContext

      public SourceUnit getContext()
    • getScriptClassDummy

      public ClassNode getScriptClassDummy()
    • createStatementsClass

      protected ClassNode createStatementsClass()
    • extractClassFromFileDescription

      protected String extractClassFromFileDescription()
    • isEmpty

      public boolean isEmpty()
    • sortClasses

      public void sortClasses()
    • hasImportsResolved

      public boolean hasImportsResolved()
    • setImportsResolved

      public void setImportsResolved​(boolean importsResolved)
    • getMainClassName

      public String getMainClassName()
    • getStatementBlock

      public BlockStatement getStatementBlock()