Class 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.

    Author:
    James Strachan
    • Method Detail

      • getModules

        public java.util.List<ModuleNode> getModules()
      • 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)
      • 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()
      • 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​(java.lang.String className)
      • hasClassNodeToCompile

        public boolean hasClassNodeToCompile()
      • iterateClassNodeToCompile

        public java.util.Iterator<java.lang.String> iterateClassNodeToCompile()
      • getGeneratedInnerClass

        public InnerClassNode getGeneratedInnerClass​(java.lang.String name)
      • addGeneratedInnerClass

        public void addGeneratedInnerClass​(InnerClassNode icn)
      • getGeneratedInnerClasses

        public java.util.Map<java.lang.String,​InnerClassNode> getGeneratedInnerClasses()