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.
Type | Name and description |
---|---|
ListHashMap |
metaDataMap |
Constructor and description |
---|
CompileUnit
(GroovyClassLoader classLoader, CompilerConfiguration config) |
CompileUnit
(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config) |
Type Params | Return Type | Name and description |
---|---|---|
|
void |
addClass(ClassNode node) Adds a class to the unit. |
|
void |
addClassNodeToCompile(ClassNode node, org.codehaus.groovy.control.SourceUnit location) this method actually does not compile a class. |
|
void |
addGeneratedInnerClass(InnerClassNode icn) |
|
void |
addModule(ModuleNode node) |
|
ClassNode |
getClass(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() |
|
List |
getClasses() @return a list of all the classes in each module in the compilation unit |
|
CodeSource |
getCodeSource() |
|
CompilerConfiguration |
getConfig() |
|
InnerClassNode |
getGeneratedInnerClass(String name) |
|
Map<String, InnerClassNode> |
getGeneratedInnerClasses() |
|
ListHashMap |
getMetaDataMap() |
|
List<ModuleNode> |
getModules() |
|
org.codehaus.groovy.control.SourceUnit |
getScriptSourceLocation(String className) |
|
boolean |
hasClassNodeToCompile() |
|
Iterator<String> |
iterateClassNodeToCompile() |
|
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.
Copyright © 2003-2018 The Apache Software Foundation. All rights reserved.