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 2018/08/19 07:05:37 UTC
groovy git commit: GROOVY-8753: Compiler error in STC: exception in
phase 'instruction selection' (closes #786)
Repository: groovy
Updated Branches:
refs/heads/master 3cb1a25c8 -> 47ae515f3
GROOVY-8753: Compiler error in STC: exception in phase 'instruction selection' (closes #786)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/47ae515f
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/47ae515f
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/47ae515f
Branch: refs/heads/master
Commit: 47ae515f31ebd40dcdc8d6cedb84a3ca9b273f5d
Parents: 3cb1a25
Author: Paul King <pa...@asert.com.au>
Authored: Sat Aug 18 15:23:41 2018 +1000
Committer: Paul King <pa...@asert.com.au>
Committed: Sun Aug 19 17:04:23 2018 +1000
----------------------------------------------------------------------
.../transform/stc/StaticTypeCheckingVisitor.java | 2 +-
.../sc/FieldsAndPropertiesStaticCompileTest.groovy | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/47ae515f/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index a80f27c..12fe2f2 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -503,7 +503,7 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
getterNode = findValidGetter(enclosingClassNode, "is" + suffix);
}
if (getterNode != null) {
- source.setNodeMetaData(StaticTypesMarker.INFERRED_TYPE, getterNode.getReturnType());
+ source.putNodeMetaData(StaticTypesMarker.INFERRED_TYPE, getterNode.getReturnType());
return;
}
}
http://git-wip-us.apache.org/repos/asf/groovy/blob/47ae515f/src/test/org/codehaus/groovy/classgen/asm/sc/FieldsAndPropertiesStaticCompileTest.groovy
----------------------------------------------------------------------
diff --git a/src/test/org/codehaus/groovy/classgen/asm/sc/FieldsAndPropertiesStaticCompileTest.groovy b/src/test/org/codehaus/groovy/classgen/asm/sc/FieldsAndPropertiesStaticCompileTest.groovy
index 4bef2c4..330fbb3 100644
--- a/src/test/org/codehaus/groovy/classgen/asm/sc/FieldsAndPropertiesStaticCompileTest.groovy
+++ b/src/test/org/codehaus/groovy/classgen/asm/sc/FieldsAndPropertiesStaticCompileTest.groovy
@@ -781,4 +781,19 @@ import org.codehaus.groovy.transform.sc.ListOfExpressionsExpression
//println astTrees
}
}
+
+ //GROOVY-8753
+ void testPrivateFieldWithPublicGetter() {
+ assertScript '''
+ @groovy.transform.CompileStatic
+ class A {
+ private List<String> fooNames = []
+ public A(Collection<String> names) {
+ names.each { fooNames << it }
+ }
+ public List<String> getFooNames() { fooNames }
+ }
+ assert new A(['foo1', 'foo2']).fooNames.size() == 2
+ '''
+ }
}