Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X d51bdc341 -> e6ce34aca


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/e6ce34ac
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/e6ce34ac
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/e6ce34ac

Branch: refs/heads/GROOVY_2_5_X
Commit: e6ce34aca76a6cf9b828eee75d04ec72c2fd0470
Parents: d51bdc3
Author: Paul King <[email protected]>
Authored: Mon Aug 13 09:24:24 2018 +1000
Committer: Paul King <[email protected]>
Committed: Tue Aug 14 09:46:07 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/e6ce34ac/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;
+    }
 }

Reply via email to