public class CompileUnit extends Object implements NodeMetaDataHandler
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.
| Modifiers | Name | Description | 
|---|---|---|
static class  | 
                            CompileUnit.ConstructedOuterNestedClassNode | 
                            Represents a resolved type as a placeholder. | 
| Constructor and description | 
|---|
                                CompileUnit
                                (GroovyClassLoader classLoader, CompilerConfiguration config) | 
                        
                                CompileUnit
                                (GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config) | 
                        
| Type Params | Return Type | Name and description | 
|---|---|---|
 | 
                            public void | 
                            addClass(ClassNode node)Adds a class to the unit.  | 
                        
 | 
                            public void | 
                            addClassNodeToCompile(ClassNode node, SourceUnit location)this method actually does not compile a class.  | 
                        
 | 
                            public void | 
                            addClassNodeToResolve(CompileUnit.ConstructedOuterNestedClassNode cn)Add a constructed class node as a placeholder to resolve outer nested class further.  | 
                        
 | 
                            public void | 
                            addGeneratedInnerClass(InnerClassNode icn) | 
                        
 | 
                            public void | 
                            addModule(ModuleNode node) | 
                        
 | 
                            public ClassNode | 
                            getClass(String name)
  | 
                        
 | 
                            public GroovyClassLoader | 
                            getClassLoader() | 
                        
 | 
                            public List<ClassNode> | 
                            getClasses()
  | 
                        
 | 
                            public Map<String, ClassNode> | 
                            getClassesToCompile() | 
                        
 | 
                            public Map<String, ConstructedOuterNestedClassNode> | 
                            getClassesToResolve() | 
                        
 | 
                            public CodeSource | 
                            getCodeSource() | 
                        
 | 
                            public CompilerConfiguration | 
                            getConfig() | 
                        
 | 
                            public InnerClassNode | 
                            getGeneratedInnerClass(String name) | 
                        
 | 
                            public Map<String, InnerClassNode> | 
                            getGeneratedInnerClasses() | 
                        
 | 
                            public Map<?, ?> | 
                            getMetaDataMap() | 
                        
 | 
                            public List<ModuleNode> | 
                            getModules() | 
                        
 | 
                            public SourceUnit | 
                            getScriptSourceLocation(String scriptClassName) | 
                        
 | 
                            public boolean | 
                            hasClassNodeToCompile() | 
                        
 | 
                            public Iterator<String> | 
                            iterateClassNodeToCompile() | 
                        
 | 
                            public void | 
                            setMetaDataMap(Map<?, ?> metaDataMap) | 
                        
Adds a class to the unit.
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.
Add a constructed class node as a placeholder to resolve outer nested class further.
cn -  the constructed class node
Copyright © 2003-2024 The Apache Software Foundation. All rights reserved.