org.codehaus.groovy.ast
Class CompileUnit
java.lang.Object
org.codehaus.groovy.ast.CompileUnit
public class CompileUnit
- extends Object
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.
- Version:
- $Revision: 16708 $
- Author:
- James Strachan
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CompileUnit
public CompileUnit(GroovyClassLoader classLoader,
CompilerConfiguration config)
CompileUnit
public CompileUnit(GroovyClassLoader classLoader,
CodeSource codeSource,
CompilerConfiguration config)
getModules
public List<ModuleNode> getModules()
addModule
public void addModule(ModuleNode node)
getClass
public ClassNode getClass(String name)
- 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
public List getClasses()
- Returns:
- a list of all the classes in each module in the compilation unit
getConfig
public CompilerConfiguration getConfig()
getClassLoader
public GroovyClassLoader getClassLoader()
getCodeSource
public CodeSource getCodeSource()
addClass
public void addClass(ClassNode node)
- Adds a class to the unit.
addClassNodeToCompile
public void addClassNodeToCompile(ClassNode node,
SourceUnit location)
- this emthod 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
public SourceUnit getScriptSourceLocation(String className)
hasClassNodeToCompile
public boolean hasClassNodeToCompile()
iterateClassNodeToCompile
public Iterator<String> iterateClassNodeToCompile()