Class CompileUnit
java.lang.Object
org.codehaus.groovy.ast.CompileUnit
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDeprecated. -
Constructor Summary
ConstructorsConstructorDescriptionCompileUnit(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config) CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a class to the unit.voidaddClassNodeToCompile(ClassNode node, SourceUnit location) this method actually does not compile a class.voidDeprecated.voidvoidaddModule(ModuleNode node) Deprecated.getGeneratedInnerClass(String name) Map<?, ?> Returns an unmodifiable view of the current node metadata.<T> TgetNodeMetaData(Object key) Gets the node meta data for the provided key.getScriptSourceLocation(String scriptClassName) booleanputNodeMetaData(Object key, Object value) Sets the node meta data but allows overwriting values.voidremoveNodeMetaData(Object key) Removes a node meta data entry.voidsetNodeMetaData(Object key, Object value) Sets the node meta data for the provided key.
-
Constructor Details
-
CompileUnit
-
CompileUnit
public CompileUnit(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config)
-
-
Method Details
-
getModules
-
addModule
-
getClass
-
getClasses
-
getConfig
-
getClassLoader
-
getCodeSource
-
addClass
Adds a class to the unit. -
addClassNodeToCompile
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. -
getClassesToCompile
-
iterateClassNodeToCompile
-
hasClassNodeToCompile
public boolean hasClassNodeToCompile() -
addGeneratedInnerClass
-
getGeneratedInnerClass
-
getGeneratedInnerClasses
-
getScriptSourceLocation
-
getNodeMetaData
Gets the node meta data for the provided key.- Parameters:
key- - the meta data key- Returns:
- the node meta data value for this key
-
setNodeMetaData
Sets the node meta data for the provided key.- Parameters:
key- - the meta data keyvalue- - the meta data value- Throws:
GroovyBugError- if key is null or there is already meta data under that key
-
putNodeMetaData
Sets the node meta data but allows overwriting values.- Parameters:
key- - the meta data keyvalue- - the meta data value- Returns:
- the old node meta data value for this key
- Throws:
GroovyBugError- if key is null
-
removeNodeMetaData
Removes a node meta data entry.- Parameters:
key- - the meta data key- Throws:
GroovyBugError- if the key is null
-
getNodeMetaData
Returns an unmodifiable view of the current node metadata.- Returns:
- the node metadata. Always not null.
-
getMetaDataMap
-
addClassNodeToResolve
Deprecated.Add a constructed class node as a placeholder to resolve outer nested class further.- Parameters:
cn- the constructed class node
-
getClassesToResolve
Deprecated.
-