Package org.codehaus.groovy.ast
Class CompileUnit
- java.lang.Object
- 
- org.codehaus.groovy.ast.CompileUnit
 
- 
 public class CompileUnit extends java.lang.ObjectRepresents the entire contents of a compilation step which consists of one or moreModuleNodeinstances. 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. 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classCompileUnit.ConstructedOuterNestedClassNodeDeprecated.
 - 
Constructor SummaryConstructors Constructor Description CompileUnit(GroovyClassLoader classLoader, java.security.CodeSource codeSource, CompilerConfiguration config)CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddClass(ClassNode node)Adds a class to the unit.voidaddClassNodeToCompile(ClassNode node, SourceUnit location)this method actually does not compile a class.voidaddClassNodeToResolve(CompileUnit.ConstructedOuterNestedClassNode cn)Deprecated.voidaddGeneratedInnerClass(InnerClassNode icn)voidaddModule(ModuleNode node)ClassNodegetClass(java.lang.String name)java.util.List<ClassNode>getClasses()java.util.Map<java.lang.String,ClassNode>getClassesToCompile()java.util.Map<java.lang.String,CompileUnit.ConstructedOuterNestedClassNode>getClassesToResolve()Deprecated.GroovyClassLoadergetClassLoader()java.security.CodeSourcegetCodeSource()CompilerConfigurationgetConfig()InnerClassNodegetGeneratedInnerClass(java.lang.String name)java.util.Map<java.lang.String,InnerClassNode>getGeneratedInnerClasses()ListHashMapgetMetaDataMap()java.util.List<ModuleNode>getModules()java.util.Map<?,?>getNodeMetaData()Returns an unmodifiable view of the current node metadata.<T> TgetNodeMetaData(java.lang.Object key)Gets the node meta data for the provided key.SourceUnitgetScriptSourceLocation(java.lang.String scriptClassName)booleanhasClassNodeToCompile()java.util.Iterator<java.lang.String>iterateClassNodeToCompile()java.lang.ObjectputNodeMetaData(java.lang.Object key, java.lang.Object value)Sets the node meta data but allows overwriting values.voidremoveNodeMetaData(java.lang.Object key)Removes a node meta data entry.voidsetNodeMetaData(java.lang.Object key, java.lang.Object value)Sets the node meta data for the provided key.
 
- 
- 
- 
Constructor Detail- 
CompileUnitpublic CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config) 
 - 
CompileUnitpublic CompileUnit(GroovyClassLoader classLoader, java.security.CodeSource codeSource, CompilerConfiguration config) 
 
- 
 - 
Method Detail- 
getModulespublic java.util.List<ModuleNode> getModules() 
 - 
addModulepublic void addModule(ModuleNode node) 
 - 
getClasspublic 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)
 
 - 
getClassespublic java.util.List<ClassNode> getClasses() - Returns:
- a list of all the classes in each module in the compilation unit
 
 - 
getConfigpublic CompilerConfiguration getConfig() 
 - 
getClassLoaderpublic GroovyClassLoader getClassLoader() 
 - 
getCodeSourcepublic java.security.CodeSource getCodeSource() 
 - 
addClasspublic void addClass(ClassNode node) Adds a class to the unit.
 - 
addClassNodeToCompilepublic 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.
 - 
getClassesToCompilepublic java.util.Map<java.lang.String,ClassNode> getClassesToCompile() 
 - 
iterateClassNodeToCompilepublic java.util.Iterator<java.lang.String> iterateClassNodeToCompile() 
 - 
hasClassNodeToCompilepublic boolean hasClassNodeToCompile() 
 - 
addGeneratedInnerClasspublic void addGeneratedInnerClass(InnerClassNode icn) 
 - 
getGeneratedInnerClasspublic InnerClassNode getGeneratedInnerClass(java.lang.String name) 
 - 
getGeneratedInnerClassespublic java.util.Map<java.lang.String,InnerClassNode> getGeneratedInnerClasses() 
 - 
getScriptSourceLocationpublic SourceUnit getScriptSourceLocation(java.lang.String scriptClassName) 
 - 
getNodeMetaDatapublic <T> T getNodeMetaData(java.lang.Object key) Gets the node meta data for the provided key.- Parameters:
- key- - the meta data key
- Returns:
- the node meta data value for this key
 
 - 
setNodeMetaDatapublic void setNodeMetaData(java.lang.Object key, java.lang.Object value)Sets the node meta data for the provided key.- Parameters:
- key- - the meta data key
- value- - the meta data value
- Throws:
- GroovyBugError- if key is null or there is already meta data under that key
 
 - 
putNodeMetaDatapublic java.lang.Object putNodeMetaData(java.lang.Object key, java.lang.Object value)Sets the node meta data but allows overwriting values.- Parameters:
- key- - the meta data key
- value- - the meta data value
- Returns:
- the old node meta data value for this key
- Throws:
- GroovyBugError- if key is null
 
 - 
removeNodeMetaDatapublic void removeNodeMetaData(java.lang.Object key) Removes a node meta data entry.- Parameters:
- key- - the meta data key
- Throws:
- GroovyBugError- if the key is null
 
 - 
getNodeMetaDatapublic java.util.Map<?,?> getNodeMetaData() Returns an unmodifiable view of the current node metadata.- Returns:
- the node metadata. Always not null.
 
 - 
getMetaDataMappublic ListHashMap getMetaDataMap() 
 - 
addClassNodeToResolve@Deprecated public void addClassNodeToResolve(CompileUnit.ConstructedOuterNestedClassNode cn) Deprecated.Add a constructed class node as a placeholder to resolve outer nested class further.- Parameters:
- cn- the constructed class node
 
 - 
getClassesToResolve@Deprecated public java.util.Map<java.lang.String,CompileUnit.ConstructedOuterNestedClassNode> getClassesToResolve() Deprecated.
 
- 
 
-