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 2019/02/01 08:01:20 UTC

[groovy] 03/06: GROOVY-8535: FieldNode constructor appears to call setType incorrectly

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

commit 86ccccb443cc2bcaddd10df64306bbbd30b34cc4
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Feb 1 15:42:45 2019 +1000

    GROOVY-8535: FieldNode constructor appears to call setType incorrectly
---
 src/main/java/org/codehaus/groovy/ast/FieldNode.java | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/ast/FieldNode.java b/src/main/java/org/codehaus/groovy/ast/FieldNode.java
index 6799a14..cae3dcf 100644
--- a/src/main/java/org/codehaus/groovy/ast/FieldNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/FieldNode.java
@@ -25,8 +25,6 @@ import java.lang.reflect.Field;
 
 /**
  * Represents a field (member variable)
- *
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class FieldNode extends AnnotatedNode implements Opcodes, Variable {
 
@@ -37,7 +35,7 @@ public class FieldNode extends AnnotatedNode implements Opcodes, Variable {
     private Expression initialValueExpression;
     private boolean dynamicTyped;
     private boolean holder;
-    private ClassNode originType = ClassHelper.DYNAMIC_TYPE;
+    private ClassNode originType;
 
     public static FieldNode newStatic(Class theClass, String name) throws SecurityException, NoSuchFieldException {
         Field field = theClass.getField(name);
@@ -48,11 +46,7 @@ public class FieldNode extends AnnotatedNode implements Opcodes, Variable {
     public FieldNode(String name, int modifiers, ClassNode type, ClassNode owner, Expression initialValueExpression) {
         this.name = name;
         this.modifiers = modifiers;
-        this.type = type;
-        if (this.type == ClassHelper.DYNAMIC_TYPE && initialValueExpression != null)
-            this.setType(initialValueExpression.getType());
         this.setType(type);
-        this.originType = type;
         this.owner = owner;
         this.initialValueExpression = initialValueExpression;
     }
@@ -179,6 +173,7 @@ public class FieldNode extends AnnotatedNode implements Opcodes, Variable {
     public boolean isClosureSharedVariable() {
         return false;
     }
+
     /**
      * @deprecated
      */
@@ -189,7 +184,7 @@ public class FieldNode extends AnnotatedNode implements Opcodes, Variable {
     public ClassNode getOriginType() {
         return originType;
     }
-    
+
     public void setOriginType(ClassNode cn) {
         originType = cn;
     }