Top Description Fields Constructors Methods
org.codehaus.groovy.ast

public Class ModuleNode

extends ASTNode
implements Opcodes
Class Inheritance
All Implemented Interfaces
org.objectweb.asm.Opcodes
Imports
groovy.lang.Binding, org.codehaus.groovy.ast.stmt.BlockStatement, .Statement, org.codehaus.groovy.classgen.GeneratorContext, org.codehaus.groovy.control.SourceUnit, org.codehaus.groovy.runtime.InvokerHelper, org.codehaus.groovy.transform.BaseScriptASTTransformation, org.objectweb.asm.Opcodes, java.io.File, java.net.URI, .URISyntaxException, java.util.ArrayList, .Collections, .Iterator, .LinkedHashMap, .LinkedList, .List, .Map, java.util.stream.Collectors

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

Modifier and TypeField and Description
private List<ClassNode>
private transient SourceUnit
private boolean
private String
private final List<ImportNode>
private boolean
private String
private final List<MethodNode>
private PackageNode
private ClassNode
private final List<ImportNode>
private final BlockStatement
private final Map<String, ImportNode>
private final Map<String, ImportNode>
private CompileUnit

Constructor Summary

AccessConstructor and Description
public
ModuleNode(final SourceUnit context)

public
ModuleNode(final CompileUnit unit)

Method Summary

Modifier and TypeMethod and Description
public void
addClass(final ClassNode node)

public void
addImport(final String alias, final ClassNode type)

public void
addImport(final String alias, final ClassNode type, final List<AnnotationNode> annotations)

public void
addMethod(final MethodNode node)

public void
addStarImport(final String packageName)

public void
addStarImport(final String packageName, final List<AnnotationNode> annotations)

public void
addStatement(final Statement node)

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

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

public void
addStaticStarImport(final String name, final ClassNode type)

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

private void
protected ClassNode
protected String
private static Parameter[]
finalParam(final ClassNode type, final String name)

public List<ClassNode>
public SourceUnit
public String

Returns:

the underlying character stream description
getDescription
()

public ImportNode

Returns:

the import node for the given alias or null if none is available
getImport
(final String
the name of interest
alias
)

public List<ImportNode>

Returns:

a copy of the module's imports
getImports
()

public ClassNode

Returns:

the import type for the given alias or null if none is available
getImportType
(final String
the name of interest
alias
)

public String
public List<MethodNode>

Returns:

the module's methods
getMethods
()

public PackageNode
public String
public ClassNode
public List<ImportNode>

Returns:

the module's star imports
getStarImports
()

public BlockStatement
public Map<String, ImportNode>

Returns:

the module's static imports
getStaticImports
()

public Map<String, ImportNode>

Returns:

the module's static star imports
getStaticStarImports
()

public CompileUnit
private MethodNode
public boolean
public boolean
public boolean
public boolean
private boolean
public void
setDescription(final String description)

public void
setImportsResolved(final boolean importsResolved)

public void
setPackage(final PackageNode packageNode)

public void
setPackageName(final String packageName)

private void
pack-priv void
setUnit(final CompileUnit unit)

public void
private void
public void
Inherited from org.codehaus.groovy.ast.ASTNode:
copyNodeMetaDatagetColumnNumbergetLastColumnNumbergetLastLineNumbergetLineNumbergetMetaDataMapgetTextsetColumnNumbersetLastColumnNumbersetLastLineNumbersetLineNumbersetMetaDataMapsetSourcePosition

Field Detail

classesback to summary
private List<ClassNode> classes
contextback to summary
private transient SourceUnit context
createClassForStatementsback to summary
private boolean createClassForStatements
descriptionback to summary
private String description
importsback to summary
private final List<ImportNode> imports
importsResolvedback to summary
private boolean importsResolved
mainClassNameback to summary
private String mainClassName
methodsback to summary
private final List<MethodNode> methods
packageNodeback to summary
private PackageNode packageNode
scriptDummyback to summary
private ClassNode scriptDummy
starImportsback to summary
private final List<ImportNode> starImports
statementBlockback to summary
private final BlockStatement statementBlock
staticImportsback to summary
private final Map<String, ImportNode> staticImports
staticStarImportsback to summary
private final Map<String, ImportNode> staticStarImports
unitback to summary
private CompileUnit unit

Constructor Detail

ModuleNodeback to summary
public ModuleNode(final SourceUnit context)
ModuleNodeback to summary
public ModuleNode(final CompileUnit unit)

Method Detail

addClassback to summary
public void addClass(final ClassNode node)
addImportback to summary
public void addImport(final String alias, final ClassNode type)
addImportback to summary
public void addImport(final String alias, final ClassNode type, final List<AnnotationNode> annotations)
addMethodback to summary
public void addMethod(final MethodNode node)
addStarImportback to summary
public void addStarImport(final String packageName)
addStarImportback to summary
public void addStarImport(final String packageName, final List<AnnotationNode> annotations)
addStatementback to summary
public void addStatement(final Statement node)
addStaticImportback to summary
public void addStaticImport(final ClassNode type, final String fieldName, final String alias)
addStaticImportback to summary
public void addStaticImport(final ClassNode type, final String fieldName, final String alias, final List<AnnotationNode> annotations)
addStaticStarImportback to summary
public void addStaticStarImport(final String name, final ClassNode type)
addStaticStarImportback to summary
public void addStaticStarImport(final String name, final ClassNode type, final List<AnnotationNode> annotations)
addToCompileUnitback to summary
private void addToCompileUnit(final ClassNode node)
createStatementsClassback to summary
protected ClassNode createStatementsClass()
extractClassFromFileDescriptionback to summary
protected String extractClassFromFileDescription()
finalParamback to summary
private static Parameter[] finalParam(final ClassNode type, final String name)
getClassesback to summary
public List<ClassNode> getClasses()
getContextback to summary
public SourceUnit getContext()
getDescriptionback to summary
public String getDescription()
Returns:String

the underlying character stream description

getImportback to summary
public ImportNode getImport(final String alias)
Parameters
alias:String

the name of interest

Returns:ImportNode

the import node for the given alias or null if none is available

getImportsback to summary
public List<ImportNode> getImports()
Returns:List<ImportNode>

a copy of the module's imports

getImportTypeback to summary
public ClassNode getImportType(final String alias)
Parameters
alias:String

the name of interest

Returns:ClassNode

the import type for the given alias or null if none is available

getMainClassNameback to summary
public String getMainClassName()
getMethodsback to summary
public List<MethodNode> getMethods()
Returns:List<MethodNode>

the module's methods

getPackageback to summary
public PackageNode getPackage()
getPackageNameback to summary
public String getPackageName()
getScriptClassDummyback to summary
public ClassNode getScriptClassDummy()
getStarImportsback to summary
public List<ImportNode> getStarImports()
Returns:List<ImportNode>

the module's star imports

getStatementBlockback to summary
public BlockStatement getStatementBlock()
getStaticImportsback to summary
public Map<String, ImportNode> getStaticImports()
Returns:Map<String, ImportNode>

the module's static imports

getStaticStarImportsback to summary
public Map<String, ImportNode> getStaticStarImports()
Returns:Map<String, ImportNode>

the module's static star imports

getUnitback to summary
public CompileUnit getUnit()
handleMainMethodIfPresentback to summary
private MethodNode handleMainMethodIfPresent(final List<MethodNode> methods)
hasImportsResolvedback to summary
public boolean hasImportsResolved()
hasPackageback to summary
public boolean hasPackage()
hasPackageNameback to summary
public boolean hasPackageName()
isEmptyback to summary
public boolean isEmpty()
isPackageInfoback to summary
private boolean isPackageInfo()
setDescriptionback to summary
public void setDescription(final String description)
setImportsResolvedback to summary
public void setImportsResolved(final boolean importsResolved)
setPackageback to summary
public void setPackage(final PackageNode packageNode)
setPackageNameback to summary
public void setPackageName(final String packageName)
setScriptBaseClassFromConfigback to summary
private void setScriptBaseClassFromConfig(final ClassNode cn)
setUnitback to summary
pack-priv void setUnit(final CompileUnit unit)
sortClassesback to summary
public void sortClasses()
storeLastAddedImportNodeback to summary
private void storeLastAddedImportNode(final ImportNode node)
visitback to summary
public void visit(final GroovyCodeVisitor visitor)

Overrides org.codehaus.groovy.ast.ASTNode.visit.

Annotations
@Override