[ 
https://issues.apache.org/jira/browse/GROOVY-9058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810895#comment-16810895
 ] 

Jochen Theodorou commented on GROOVY-9058:
------------------------------------------

a general comment about isDynamicTyped(). I think all uses of that method 
should be removed. It is a left-over from pre-Groovy1 and was supposed to be 
used only if the type is Object anyway. What is there now does no longer make 
sense since we are now using the metadata stuff.

> each parameter type not correctly inferenced
> --------------------------------------------
>
>                 Key: GROOVY-9058
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9058
>             Project: Groovy
>          Issue Type: Bug
>          Components: Static compilation
>    Affects Versions: 2.5.6
>            Reporter: Mauro Molinari
>            Priority: Major
>
> Consider this Java class:
> {code:java}
> package test51;
> import java.util.List;
> public class Foo {
>     public List<Object[]> bar() { return null; }
> }{code}
>  and this Groovy class:
> {code:java}
> package test51
> import groovy.transform.CompileStatic
> @CompileStatic
> class Test51 {
>     protected void foo() {
>         List<Object[]> foo = new Foo().bar()
>         foo.each { row ->
>             def o = row[0]
>         }
>     }
>     
>     List bar() {
>     }
> }{code}
> This produces a compiler error because {{row}} is resolved as {{Object}} 
> rather than {{Object[]}}.
> A workaround is to declare {{row}} as {{Object[] row}} in the closure 
> parameter list.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to