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), java.lang.Object#wait(long, int), 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