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.

Author:
James Strachan
  • Constructor Details

  • Method Details

    • 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()
    • iterateClassNodeToCompile

      public Iterator<String> iterateClassNodeToCompile()
    • getGeneratedInnerClass

      public InnerClassNode getGeneratedInnerClass(String name)
    • addGeneratedInnerClass

      public void addGeneratedInnerClass(InnerClassNode icn)
    • getGeneratedInnerClasses

      public Map<String,InnerClassNode> getGeneratedInnerClasses()