Package 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 moreModuleNodeinstances. 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
Constructors Constructor Description CompileUnit(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config)CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddClass(ClassNode node)Adds a class to the unit.voidaddClassNodeToCompile(ClassNode node, SourceUnit location)this method actually does not compile a class.voidaddGeneratedInnerClass(InnerClassNode icn)voidaddModule(ModuleNode node)ClassNodegetClass(String name)ListgetClasses()GroovyClassLoadergetClassLoader()CodeSourcegetCodeSource()CompilerConfigurationgetConfig()InnerClassNodegetGeneratedInnerClass(String name)Map<String,InnerClassNode>getGeneratedInnerClasses()List<ModuleNode>getModules()SourceUnitgetScriptSourceLocation(String className)booleanhasClassNodeToCompile()Iterator<String>iterateClassNodeToCompile()
-
-
-
Constructor Detail
-
CompileUnit
public CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config)
-
CompileUnit
public CompileUnit(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config)
-
-
Method Detail
-
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 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
public SourceUnit getScriptSourceLocation(String className)
-
hasClassNodeToCompile
public boolean hasClassNodeToCompile()
-
getGeneratedInnerClass
public InnerClassNode getGeneratedInnerClass(String name)
-
addGeneratedInnerClass
public void addGeneratedInnerClass(InnerClassNode icn)
-
getGeneratedInnerClasses
public Map<String,InnerClassNode> getGeneratedInnerClasses()
-
-