Package org.codehaus.groovy.ast
Class CompileUnit
java.lang.Object
org.codehaus.groovy.ast.CompileUnit
- All Implemented Interfaces:
NodeMetaDataHandler
public class CompileUnit extends java.lang.Object implements NodeMetaDataHandler
Represents the entire contents of a compilation step which consists of one or more
ModuleNode
instances. There's one instance of this that's shared by all modules and
classes compiled during a single invocation of the compiler.
It's attached to MethodNodes and ClassNodes and is used to find fully qualified names of classes, resolve imports, and that sort of thing.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CompileUnit.ConstructedOuterNestedClassNode
Deprecated. -
Constructor Summary
Constructors Constructor Description CompileUnit(GroovyClassLoader classLoader, java.security.CodeSource codeSource, CompilerConfiguration config)
CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config)
-
Method Summary
Modifier and Type Method Description void
addClass(ClassNode node)
Adds a class to the unit.void
addClassNodeToCompile(ClassNode node, SourceUnit location)
this method actually does not compile a class.void
addClassNodeToResolve(CompileUnit.ConstructedOuterNestedClassNode cn)
Deprecated.void
addGeneratedInnerClass(InnerClassNode icn)
void
addModule(ModuleNode node)
ClassNode
getClass(java.lang.String name)
java.util.List<ClassNode>
getClasses()
java.util.Map<java.lang.String,ClassNode>
getClassesToCompile()
java.util.Map<java.lang.String,CompileUnit.ConstructedOuterNestedClassNode>
getClassesToResolve()
Deprecated.GroovyClassLoader
getClassLoader()
java.security.CodeSource
getCodeSource()
CompilerConfiguration
getConfig()
InnerClassNode
getGeneratedInnerClass(java.lang.String name)
java.util.Map<java.lang.String,InnerClassNode>
getGeneratedInnerClasses()
java.util.Map<?,?>
getMetaDataMap()
java.util.List<ModuleNode>
getModules()
SourceUnit
getScriptSourceLocation(java.lang.String scriptClassName)
boolean
hasClassNodeToCompile()
java.util.Iterator<java.lang.String>
iterateClassNodeToCompile()
void
setMetaDataMap(java.util.Map<?,?> metaDataMap)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
CompileUnit
-
CompileUnit
public CompileUnit(GroovyClassLoader classLoader, java.security.CodeSource codeSource, CompilerConfiguration config)
-
-
Method Details
-
getModules
-
addModule
-
getClass
- Returns:
- the ClassNode for the given qualified name or returns null if the name does not exist in the current compilation unit (ignoring the .class files on the classpath)
-
getClasses
- Returns:
- a list of all the classes in each module in the compilation unit
-
getConfig
-
getClassLoader
-
getCodeSource
public java.security.CodeSource getCodeSource() -
addClass
Adds a class to the unit. -
addClassNodeToCompile
this method actually does not compile a class. It's only a marker that this type has to be compiled by the CompilationUnit at the end of a parse step no node should be be left. -
getClassesToCompile
-
iterateClassNodeToCompile
public java.util.Iterator<java.lang.String> iterateClassNodeToCompile() -
hasClassNodeToCompile
public boolean hasClassNodeToCompile() -
addGeneratedInnerClass
-
getGeneratedInnerClass
-
getGeneratedInnerClasses
-
getScriptSourceLocation
-
getMetaDataMap
public java.util.Map<?,?> getMetaDataMap()- Specified by:
getMetaDataMap
in interfaceNodeMetaDataHandler
-
setMetaDataMap
public void setMetaDataMap(java.util.Map<?,?> metaDataMap)- Specified by:
setMetaDataMap
in interfaceNodeMetaDataHandler
-
addClassNodeToResolve
Deprecated.Add a constructed class node as a placeholder to resolve outer nested class further.- Parameters:
cn
- the constructed class node
-
getClassesToResolve
@Deprecated public java.util.Map<java.lang.String,CompileUnit.ConstructedOuterNestedClassNode> getClassesToResolve()Deprecated.
-