Repository: groovy Updated Branches: refs/heads/master c9e9eddc4 -> 223366702
GROOVY-8748: CompileUnit could implement NodeMetaDataHandler to act as a "global" node for metadata (closes #783) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/22336670 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/22336670 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/22336670 Branch: refs/heads/master Commit: 223366702a13ef369f216af2ba443670f42f02a1 Parents: c9e9edd Author: Paul King <[email protected]> Authored: Mon Aug 13 09:24:24 2018 +1000 Committer: Paul King <[email protected]> Committed: Tue Aug 14 09:41:03 2018 +1000 ---------------------------------------------------------------------- .../java/org/codehaus/groovy/ast/CompileUnit.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/22336670/src/main/java/org/codehaus/groovy/ast/CompileUnit.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/codehaus/groovy/ast/CompileUnit.java b/src/main/java/org/codehaus/groovy/ast/CompileUnit.java index ea0722c..a453bb1 100644 --- a/src/main/java/org/codehaus/groovy/ast/CompileUnit.java +++ b/src/main/java/org/codehaus/groovy/ast/CompileUnit.java @@ -23,6 +23,7 @@ import org.codehaus.groovy.control.CompilerConfiguration; import org.codehaus.groovy.control.SourceUnit; import org.codehaus.groovy.control.messages.SyntaxErrorMessage; import org.codehaus.groovy.syntax.SyntaxException; +import org.codehaus.groovy.util.ListHashMap; import java.security.CodeSource; import java.util.ArrayList; @@ -39,10 +40,8 @@ import java.util.Map; * <p> * It's attached to MethodNodes and ClassNodes and is used to find fully qualified names of classes, * resolve imports, and that sort of thing. - * - * @author <a href="mailto:[email protected]">James Strachan </a> */ -public class CompileUnit { +public class CompileUnit implements NodeMetaDataHandler { private final List<ModuleNode> modules = new ArrayList<ModuleNode>(); private final Map<String, ClassNode> classes = new HashMap<String, ClassNode>(); @@ -52,6 +51,7 @@ public class CompileUnit { private final Map<String, ClassNode> classesToCompile = new HashMap<String, ClassNode>(); private final Map<String, SourceUnit> classNameToSource = new HashMap<String, SourceUnit>(); private final Map<String, InnerClassNode> generatedInnerClasses = new HashMap(); + private Map metaDataMap = null; public CompileUnit(GroovyClassLoader classLoader, CompilerConfiguration config) { this(classLoader, null, config); @@ -190,4 +190,14 @@ public class CompileUnit { public Map<String, InnerClassNode> getGeneratedInnerClasses() { return Collections.unmodifiableMap(generatedInnerClasses); } + + @Override + public ListHashMap getMetaDataMap() { + return (ListHashMap) metaDataMap; + } + + @Override + public void setMetaDataMap(Map<?, ?> metaDataMap) { + this.metaDataMap = metaDataMap; + } }
