org.codehaus.groovy.ast
Class ModuleNode

java.lang.Object
  |
  +--org.codehaus.groovy.ast.ASTNode
        |
        +--org.codehaus.groovy.ast.ModuleNode
All Implemented Interfaces:
org.objectweb.asm.Constants

public class ModuleNode
extends ASTNode
implements org.objectweb.asm.Constants

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

Version:
$Revision: 1.11 $
Author:
James Strachan

Field Summary
 
Fields inherited from class org.codehaus.groovy.ast.ASTNode
EMPTY_STRING_ARRAY
 
Fields inherited from interface org.objectweb.asm.Constants
AALOAD, AASTORE, ACC_ABSTRACT, ACC_DEPRECATED, 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_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, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, 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, 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, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, 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
 
Constructor Summary
ModuleNode()
           
 
Method Summary
 void addClass(org.codehaus.groovy.ast.ClassNode node)
           
 void addClasses(Map classMap)
          Appends all of the fully qualified class names in this module into the given map
 void addImport(String alias, String className)
           
 void addMethod(org.codehaus.groovy.ast.MethodNode node)
           
 void addStatement(org.codehaus.groovy.ast.stmt.Statement node)
           
protected  org.codehaus.groovy.ast.ClassNode createStatementsClass()
           
protected  String extractClassFromFileDescription()
           
 List getClasses()
           
 String getDescription()
           
 String getImport(String alias)
           
 List getMethods()
           
 String getPackageName()
           
 org.codehaus.groovy.ast.stmt.BlockStatement getStatementBlock()
           
 org.codehaus.groovy.ast.CompileUnit getUnit()
           
 void setDescription(String description)
           
 void setPackageName(String packageName)
           
 void visit(org.codehaus.groovy.ast.GroovyCodeVisitor visitor)
           
 
Methods inherited from class org.codehaus.groovy.ast.ASTNode
getColumnNumber, getLineNumber, getText, setColumnNumber, setCSTNode, setLineNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModuleNode

public ModuleNode()
Method Detail

getStatementBlock

public org.codehaus.groovy.ast.stmt.BlockStatement getStatementBlock()

getMethods

public List getMethods()

getClasses

public List getClasses()

getImport

public String getImport(String alias)
Returns:
the class name for the given alias or null if none is available

addImport

public void addImport(String alias,
                      String className)

addStatement

public void addStatement(org.codehaus.groovy.ast.stmt.Statement node)

addClass

public void addClass(org.codehaus.groovy.ast.ClassNode node)

addMethod

public void addMethod(org.codehaus.groovy.ast.MethodNode node)

visit

public void visit(org.codehaus.groovy.ast.GroovyCodeVisitor visitor)
Overrides:
visit in class ASTNode

getPackageName

public String getPackageName()

setPackageName

public void setPackageName(String packageName)

getDescription

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

setDescription

public void setDescription(String description)

addClasses

public void addClasses(Map classMap)
Appends all of the fully qualified class names in this module into the given map


getUnit

public org.codehaus.groovy.ast.CompileUnit getUnit()

createStatementsClass

protected org.codehaus.groovy.ast.ClassNode createStatementsClass()

extractClassFromFileDescription

protected String extractClassFromFileDescription()


Copyright © 2003 The Codehaus. All Rights Reserved.