On this page
[Java] Class CompileUnit
- org.codehaus.groovy.ast.CompileUnit
- All Implemented Interfaces and Traits:
- NodeMetaDataHandler
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.
Constructor Summary
Constructor and description |
---|
CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config) |
CompileUnit(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config) |
Methods Summary
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 |
addClasses(List<ClassNode> list) Appends all of the fully-qualified class names in this module into the given map. |
|
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 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 className) |
|
public boolean |
hasClassNodeToCompile() |
|
public Iterator<String> |
iterateClassNodeToCompile() |
|
public void |
setMetaDataMap(Map<?, ?> metaDataMap) |
Inherited Methods Summary
Constructor Detail
public CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config)
public CompileUnit(GroovyClassLoader classLoader, CodeSource codeSource, CompilerConfiguration config)
Method Detail
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. 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.
public void addClasses(List<ClassNode> list)
Appends all of the fully-qualified class names in this module into the given map.
public void addGeneratedInnerClass(InnerClassNode icn)
public void addModule(ModuleNode node)
public ClassNode getClass(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)
public GroovyClassLoader getClassLoader()
public List<ClassNode> getClasses()
- Returns:
- a list of all the classes in each module in the compilation unit
public Map<String, ClassNode> getClassesToCompile()
public CodeSource getCodeSource()
public CompilerConfiguration getConfig()
public InnerClassNode getGeneratedInnerClass(String name)
public Map<String, InnerClassNode> getGeneratedInnerClasses()
@Override public Map<?, ?> getMetaDataMap()
public List<ModuleNode> getModules()
public SourceUnit getScriptSourceLocation(String className)
@Deprecated public boolean hasClassNodeToCompile()
@Deprecated public Iterator<String> iterateClassNodeToCompile()
@Override public void setMetaDataMap(Map<?, ?> metaDataMap)
© 2003-2022 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/4.0.0/html/gapi/org/codehaus/groovy/ast/CompileUnit.html