Groovy Documentation

org.codehaus.groovy.ast
[Java] Class CompileUnit

java.lang.Object
  org.codehaus.groovy.ast.CompileUnit

public class CompileUnit
extends java.lang.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.

Authors:
James Strachan
Version:
\$Revision\$


Constructor Summary
CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config)

CompileUnit(GroovyClassLoader classLoader, java.security.CodeSource codeSource, CompilerConfiguration config)

 
Method Summary
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 addGeneratedInnerClass(InnerClassNode icn)

void addModule(ModuleNode node)

ClassNode getClass(java.lang.String name)

@return 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)

GroovyClassLoader getClassLoader()

java.util.List getClasses()

@return a list of all the classes in each module in the compilation unit

java.security.CodeSource getCodeSource()

CompilerConfiguration getConfig()

InnerClassNode getGeneratedInnerClass(java.lang.String name)

java.util.List getModules()

SourceUnit getScriptSourceLocation(java.lang.String className)

boolean hasClassNodeToCompile()

java.util.Iterator iterateClassNodeToCompile()

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Constructor Detail

CompileUnit

public CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config)


CompileUnit

public CompileUnit(GroovyClassLoader classLoader, java.security.CodeSource codeSource, CompilerConfiguration config)


 
Method Detail

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.


addGeneratedInnerClass

public void addGeneratedInnerClass(InnerClassNode icn)


addModule

public void addModule(ModuleNode node)


getClass

public ClassNode getClass(java.lang.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)


getClassLoader

public GroovyClassLoader getClassLoader()


getClasses

public java.util.List getClasses()
Returns:
a list of all the classes in each module in the compilation unit


getCodeSource

public java.security.CodeSource getCodeSource()


getConfig

public CompilerConfiguration getConfig()


getGeneratedInnerClass

public InnerClassNode getGeneratedInnerClass(java.lang.String name)


getModules

public java.util.List getModules()


getScriptSourceLocation

public SourceUnit getScriptSourceLocation(java.lang.String className)


hasClassNodeToCompile

public boolean hasClassNodeToCompile()


iterateClassNodeToCompile

public java.util.Iterator iterateClassNodeToCompile()


 

Groovy Documentation