Package org.codehaus.groovy.ast
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
-
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_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, 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, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, 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, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V9 -
Constructor Summary
Constructors Constructor Description ModuleNode(CompileUnit unit)ModuleNode(SourceUnit context) -
Method Summary
Modifier and Type Method Description voidaddClass(ClassNode node)voidaddImport(java.lang.String alias, ClassNode type)voidaddImport(java.lang.String alias, ClassNode type, java.util.List<AnnotationNode> annotations)voidaddMethod(MethodNode node)voidaddStarImport(java.lang.String packageName)voidaddStarImport(java.lang.String packageName, java.util.List<AnnotationNode> annotations)voidaddStatement(Statement node)voidaddStaticImport(ClassNode type, java.lang.String fieldName, java.lang.String alias)voidaddStaticImport(ClassNode type, java.lang.String fieldName, java.lang.String alias, java.util.List<AnnotationNode> annotations)voidaddStaticStarImport(java.lang.String name, ClassNode type)voidaddStaticStarImport(java.lang.String name, ClassNode type, java.util.List<AnnotationNode> annotations)protected ClassNodecreateStatementsClass()protected java.lang.StringextractClassFromFileDescription()java.util.List<ClassNode>getClasses()SourceUnitgetContext()java.lang.StringgetDescription()ImportNodegetImport(java.lang.String alias)java.util.List<ImportNode>getImports()ClassNodegetImportType(java.lang.String alias)java.lang.StringgetMainClassName()java.util.List<MethodNode>getMethods()PackageNodegetPackage()java.lang.StringgetPackageName()ClassNodegetScriptClassDummy()java.util.List<ImportNode>getStarImports()BlockStatementgetStatementBlock()java.util.Map<java.lang.String,ImportNode>getStaticImports()java.util.Map<java.lang.String,ImportNode>getStaticStarImports()CompileUnitgetUnit()booleanhasImportsResolved()booleanhasPackage()booleanhasPackageName()booleanisEmpty()voidsetDescription(java.lang.String description)voidsetImportsResolved(boolean importsResolved)voidsetPackage(PackageNode packageNode)voidsetPackageName(java.lang.String packageName)voidsortClasses()voidvisit(GroovyCodeVisitor visitor)Methods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePositionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
ModuleNode
-
ModuleNode
-
-
Method Details
-
getClasses
-
getMethods
- Returns:
- the module's methods
-
getImports
- Returns:
- a copy of the module's imports
-
getStarImports
- Returns:
- the module's star imports
-
getStaticImports
- Returns:
- the module's static imports
-
getStaticStarImports
- Returns:
- the module's static star imports
-
getImportType
- Parameters:
alias- the name of interest- Returns:
- the import type for the given alias or null if none is available
-
getImport
- Parameters:
alias- the name of interest- Returns:
- the import node for the given alias or null if none is available
-
addImport
-
addImport
public void addImport(java.lang.String alias, ClassNode type, java.util.List<AnnotationNode> annotations) -
addStarImport
public void addStarImport(java.lang.String packageName) -
addStarImport
public void addStarImport(java.lang.String packageName, java.util.List<AnnotationNode> annotations) -
addStaticImport
-
addStaticImport
public void addStaticImport(ClassNode type, java.lang.String fieldName, java.lang.String alias, java.util.List<AnnotationNode> annotations) -
addStaticStarImport
-
addStaticStarImport
public void addStaticStarImport(java.lang.String name, ClassNode type, java.util.List<AnnotationNode> annotations) -
addStatement
-
addClass
-
addMethod
-
visit
-
getPackageName
public java.lang.String getPackageName() -
getPackage
-
hasPackage
public boolean hasPackage() -
setPackage
-
hasPackageName
public boolean hasPackageName() -
setPackageName
public void setPackageName(java.lang.String packageName) -
getDescription
public java.lang.String getDescription()- Returns:
- the underlying character stream description
-
setDescription
public void setDescription(java.lang.String description) -
getUnit
-
getContext
-
getScriptClassDummy
-
createStatementsClass
-
extractClassFromFileDescription
protected java.lang.String extractClassFromFileDescription() -
isEmpty
public boolean isEmpty() -
sortClasses
public void sortClasses() -
hasImportsResolved
public boolean hasImportsResolved() -
setImportsResolved
public void setImportsResolved(boolean importsResolved) -
getMainClassName
public java.lang.String getMainClassName() -
getStatementBlock
-