You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2020/07/16 07:42:24 UTC

[groovy] branch GROOVY_2_5_X updated: set range and method pointer/reference types like map, list and closure (closes #1312)

This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch GROOVY_2_5_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_2_5_X by this push:
     new 008665f  set range and method pointer/reference types like map, list and closure (closes #1312)
008665f is described below

commit 008665f0857c7a7cd1ed76d890540b5a12f10e1e
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Mon Jul 13 10:49:24 2020 -0500

    set range and method pointer/reference types like map, list and closure (closes #1312)
    
    - see ClosureExpression, ListExpression and MapExpression constructors
---
 src/main/java/org/codehaus/groovy/ast/expr/ClosureExpression.java   | 2 +-
 .../java/org/codehaus/groovy/ast/expr/MethodPointerExpression.java  | 6 +-----
 src/main/java/org/codehaus/groovy/ast/expr/RangeExpression.java     | 4 +++-
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/ast/expr/ClosureExpression.java b/src/main/java/org/codehaus/groovy/ast/expr/ClosureExpression.java
index 5960e00..fe811c9 100644
--- a/src/main/java/org/codehaus/groovy/ast/expr/ClosureExpression.java
+++ b/src/main/java/org/codehaus/groovy/ast/expr/ClosureExpression.java
@@ -39,7 +39,7 @@ public class ClosureExpression extends Expression {
     public ClosureExpression(Parameter[] parameters, Statement code) {
         this.parameters = parameters;
         this.code = code;
-        super.setType(ClassHelper.CLOSURE_TYPE.getPlainNodeReference());
+        setType(ClassHelper.CLOSURE_TYPE.getPlainNodeReference());
     }
     
     public void visit(GroovyCodeVisitor visitor) {
diff --git a/src/main/java/org/codehaus/groovy/ast/expr/MethodPointerExpression.java b/src/main/java/org/codehaus/groovy/ast/expr/MethodPointerExpression.java
index c5f4fb9..ceb5cee 100644
--- a/src/main/java/org/codehaus/groovy/ast/expr/MethodPointerExpression.java
+++ b/src/main/java/org/codehaus/groovy/ast/expr/MethodPointerExpression.java
@@ -20,7 +20,6 @@ package org.codehaus.groovy.ast.expr;
 
 import groovy.lang.Closure;
 import org.codehaus.groovy.ast.ClassHelper;
-import org.codehaus.groovy.ast.ClassNode;
 import org.codehaus.groovy.ast.GroovyCodeVisitor;
 
 /**
@@ -39,6 +38,7 @@ public class MethodPointerExpression extends Expression {
     public MethodPointerExpression(Expression expression, Expression methodName) {
         this.expression = expression;
         this.methodName = methodName;
+        setType(ClassHelper.CLOSURE_TYPE.getPlainNodeReference());
     }
 
     public Expression getExpression() {
@@ -77,10 +77,6 @@ public class MethodPointerExpression extends Expression {
         }
     }
 
-    public ClassNode getType() {
-        return ClassHelper.CLOSURE_TYPE.getPlainNodeReference();
-    }
-
     public boolean isDynamic() {
         return false;
     }
diff --git a/src/main/java/org/codehaus/groovy/ast/expr/RangeExpression.java b/src/main/java/org/codehaus/groovy/ast/expr/RangeExpression.java
index ad61b8c..983b69e 100644
--- a/src/main/java/org/codehaus/groovy/ast/expr/RangeExpression.java
+++ b/src/main/java/org/codehaus/groovy/ast/expr/RangeExpression.java
@@ -18,6 +18,7 @@
  */
 package org.codehaus.groovy.ast.expr;
 
+import org.codehaus.groovy.ast.ClassHelper;
 import org.codehaus.groovy.ast.GroovyCodeVisitor;
 
 /**
@@ -35,6 +36,7 @@ public class RangeExpression extends Expression {
         this.from = from;
         this.to = to;
         this.inclusive = inclusive;
+        setType(ClassHelper.RANGE_TYPE);
     }
 
     public void visit(GroovyCodeVisitor visitor) {
@@ -42,7 +44,7 @@ public class RangeExpression extends Expression {
     }
 
     public Expression transformExpression(ExpressionTransformer transformer) {
-        Expression ret = new RangeExpression(transformer.transform(from), transformer.transform(to), inclusive); 
+        Expression ret = new RangeExpression(transformer.transform(from), transformer.transform(to), inclusive);
         ret.setSourcePosition(this);
         ret.copyNodeMetaData(this);
         return ret;