Package 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.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_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, V9
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
addImport
(String alias, ClassNode type, List<AnnotationNode> annotations) 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
addStaticStarImport
(String name, ClassNode type) void
addStaticStarImport
(String name, ClassNode type, List<AnnotationNode> annotations) protected ClassNode
protected String
getImportType
(String alias) getUnit()
boolean
boolean
boolean
boolean
isEmpty()
void
setDescription
(String description) void
setImportsResolved
(boolean importsResolved) void
setPackage
(PackageNode packageNode) void
setPackageName
(String packageName) void
void
visit
(GroovyCodeVisitor visitor) Methods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition
-
Constructor Details
-
ModuleNode
-
ModuleNode
-
-
Method Details
-
getStatementBlock
-
getMethods
-
getClasses
-
getImports
-
getStarImports
-
getImportType
- Parameters:
alias
- the name of interest- Returns:
- the class node 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
-
addStarImport
-
addStarImport
-
addStatement
-
addClass
-
addMethod
-
visit
-
getPackageName
-
getPackage
-
setPackage
-
setPackageName
-
hasPackageName
public boolean hasPackageName() -
hasPackage
public boolean hasPackage() -
getContext
-
getDescription
- Returns:
- the underlying character stream description
-
setDescription
-
getUnit
-
getScriptClassDummy
-
createStatementsClass
-
extractClassFromFileDescription
-
isEmpty
public boolean isEmpty() -
sortClasses
public void sortClasses() -
hasImportsResolved
public boolean hasImportsResolved() -
setImportsResolved
public void setImportsResolved(boolean importsResolved) -
getStaticImports
-
getStaticStarImports
-
addStaticImport
-
addStaticImport
public void addStaticImport(ClassNode type, String fieldName, String alias, List<AnnotationNode> annotations) -
addStaticStarImport
-
addStaticStarImport
-
getMainClassName
-