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, V21, V22, V23, V24, V25, V9 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidaddImport(String alias, ClassNode type, List<AnnotationNode> annotations) voidaddMethod(MethodNode node) voidaddStarImport(String packageName) voidaddStarImport(String packageName, List<AnnotationNode> annotations) voidaddStatement(Statement node) voidaddStaticImport(ClassNode type, String fieldName, String alias) voidaddStaticImport(ClassNode type, String fieldName, String alias, List<AnnotationNode> annotations) voidaddStaticStarImport(String name, ClassNode type) voidaddStaticStarImport(String name, ClassNode type, List<AnnotationNode> annotations) protected ClassNodeprotected StringgetImportType(String alias) getUnit()booleanbooleanbooleanbooleanisEmpty()voidsetDescription(String description) voidsetImportsResolved(boolean importsResolved) voidsetPackage(PackageNode packageNode) voidsetPackageName(String packageName) voidvoidvisit(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
-