Mauro Molinari created GROOVY-8179:
--------------------------------------
Summary: Map-style constructor call, inner class and static
compilation
Key: GROOVY-8179
URL: https://issues.apache.org/jira/browse/GROOVY-8179
Project: Groovy
Issue Type: Bug
Components: Static compilation
Affects Versions: 2.4.11
Reporter: Mauro Molinari
Consider the following:
{code}
package c
import groovy.transform.CompileStatic
@CompileStatic
class C {
class MyBean {
String foo
int bar
}
class AnotherClass {
int createInt() {
return 1
}
String createString() {
return 'foo'
}
}
void doSomething() {
def a = new AnotherClass()
def b = new MyBean(foo: a.createString())
}
}
{code}
The compiler complains on {{new MyBean(...)}}:
{noformat}
\src\main\groovy\c\C.groovy: 22: [Static type checking] - Cannot find matching
method c.C$MyBean#<init>(c.C, java.util.LinkedHashMap <java.lang.String,
java.lang.String>). Please check if the declared type is right and if the
method exists.
@ line 22, column 11.
{noformat}
Changing it to {{new C.MyBean(...)}} works though.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)