org.codehaus.groovy.ast
Class ModuleNode

java.lang.Object
  extended by org.codehaus.groovy.ast.ASTNode
      extended by org.codehaus.groovy.ast.ModuleNode
All Implemented Interfaces:
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

Author:
Jochen Theodorou, Paul King, James Strachan

Field Summary
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7
 
Constructor Summary
ModuleNode(CompileUnit unit)
           
ModuleNode(SourceUnit context)
           
 
Method Summary
 void addClass(ClassNode node)
           
 void addImport(String alias, ClassNode type)
           
 void addImport(String alias, ClassNode type, List<AnnotationNode> annotations)
           
 String[] addImportPackage(String packageName)
          Deprecated. replaced by addStarImport(String)
 void addMethod(MethodNode node)
           
 void addStarImport(String packageName)
           
 void addStarImport(String packageName, List<AnnotationNode> annotations)
           
 void addStatement(Statement node)
           
 void addStaticImport(ClassNode type, String fieldName, String alias)
           
 void addStaticImport(ClassNode type, String fieldName, String alias, List<AnnotationNode> annotations)
           
 void addStaticImportClass(String name, ClassNode type)
          Deprecated. replaced by addStaticStarImport(String, ClassNode)
 void addStaticMethodOrField(ClassNode type, String fieldName, String alias)
          Deprecated. replaced by addStaticImport(ClassNode, String, String)
 void addStaticStarImport(String name, ClassNode type)
           
 void addStaticStarImport(String name, ClassNode type, List<AnnotationNode> annotations)
           
protected  ClassNode createStatementsClass()
           
protected  String extractClassFromFileDescription()
           
 List<ClassNode> getClasses()
           
 SourceUnit getContext()
           
 String getDescription()
           
 ImportNode getImport(String alias)
           
 List<String> getImportPackages()
          Deprecated. replaced by getStarImports()
 List<ImportNode> getImports()
           
 ClassNode getImportType(String alias)
           
 List<MethodNode> getMethods()
           
 PackageNode getPackage()
           
 String getPackageName()
           
 ClassNode getScriptClassDummy()
           
 List<ImportNode> getStarImports()
           
 BlockStatement getStatementBlock()
           
 Map<String,ClassNode> getStaticImportAliases()
          Deprecated. replaced by getStaticImports()
 Map<String,ClassNode> getStaticImportClasses()
          Deprecated. replaced by getStaticStarImports()
 Map<String,String> getStaticImportFields()
          Deprecated. replaced by getStaticImports()
 Map<String,ImportNode> getStaticImports()
           
 Map<String,ImportNode> getStaticStarImports()
           
 CompileUnit getUnit()
           
 boolean hasImportsResolved()
           
 boolean hasPackage()
           
 boolean hasPackageName()
           
 boolean isEmpty()
           
 void setDescription(String description)
           
 void setImportsResolved(boolean importsResolved)
           
 void setPackage(PackageNode packageNode)
           
 void setPackageName(String packageName)
           
 void sortClasses()
           
 void visit(GroovyCodeVisitor visitor)
           
 
Methods inherited from class org.codehaus.groovy.ast.ASTNode
getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setSourcePosition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModuleNode

public ModuleNode(SourceUnit context)

ModuleNode

public ModuleNode(CompileUnit unit)
Method Detail

getStatementBlock

public BlockStatement getStatementBlock()

getMethods

public List<MethodNode> getMethods()

getClasses

public List<ClassNode> getClasses()

getImports

public List<ImportNode> getImports()

getImportPackages

@Deprecated
public List<String> getImportPackages()
Deprecated. replaced by getStarImports()


getStarImports

public List<ImportNode> getStarImports()

getImportType

public ClassNode getImportType(String alias)
Parameters:
alias - the name of interest
Returns:
the class node 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)

addImportPackage

@Deprecated
public String[] addImportPackage(String packageName)
Deprecated. replaced by addStarImport(String)


addStarImport

public void addStarImport(String packageName)

addStarImport

public void addStarImport(String packageName,
                          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()

setPackage

public void setPackage(PackageNode packageNode)

setPackageName

public void setPackageName(String packageName)

hasPackageName

public boolean hasPackageName()

hasPackage

public boolean hasPackage()

getContext

public SourceUnit getContext()

getDescription

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

setDescription

public void setDescription(String description)

getUnit

public CompileUnit getUnit()

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)

getStaticImportAliases

@Deprecated
public Map<String,ClassNode> getStaticImportAliases()
Deprecated. replaced by getStaticImports()


getStaticImportClasses

@Deprecated
public Map<String,ClassNode> getStaticImportClasses()
Deprecated. replaced by getStaticStarImports()


getStaticImportFields

@Deprecated
public Map<String,String> getStaticImportFields()
Deprecated. replaced by getStaticImports()


getStaticImports

public Map<String,ImportNode> getStaticImports()

getStaticStarImports

public Map<String,ImportNode> getStaticStarImports()

addStaticMethodOrField

@Deprecated
public void addStaticMethodOrField(ClassNode type,
                                              String fieldName,
                                              String alias)
Deprecated. replaced by addStaticImport(ClassNode, String, String)


addStaticImport

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

addStaticImport

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

addStaticImportClass

@Deprecated
public void addStaticImportClass(String name,
                                            ClassNode type)
Deprecated. replaced by addStaticStarImport(String, ClassNode)


addStaticStarImport

public void addStaticStarImport(String name,
                                ClassNode type)

addStaticStarImport

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

Copyright © 2003-2009 The Codehaus. All rights reserved.