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 <[email protected]> Authored: Sat Aug 18 15:23:41 2018 +1000 Committer: Paul King <[email protected]> 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 + ''' + } }
