Package org.codehaus.groovy.ast
Class CompileUnit
java.lang.Object
org.codehaus.groovy.ast.CompileUnit
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.
- Author:
- James Strachan
-
Constructor Summary
ConstructorDescriptionCompileUnit
(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config) CompileUnit
(GroovyClassLoader classLoader, CompilerConfiguration config) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a class to the unit.void
addClassNodeToCompile
(ClassNode node, SourceUnit location) this method actually does not compile a class.void
void
addModule
(ModuleNode node) getGeneratedInnerClass
(String name) getScriptSourceLocation
(String className) boolean
-
Constructor Details
-
CompileUnit
-
CompileUnit
public CompileUnit(GroovyClassLoader classLoader, 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
-
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. -
getScriptSourceLocation
-
hasClassNodeToCompile
public boolean hasClassNodeToCompile() -
iterateClassNodeToCompile
-
getGeneratedInnerClass
-
addGeneratedInnerClass
-
getGeneratedInnerClasses
-