J. Brébec created GROOVY-10756:
----------------------------------
Summary: CompileStatic with java generic
Key: GROOVY-10756
URL: https://issues.apache.org/jira/browse/GROOVY-10756
Project: Groovy
Issue Type: Bug
Affects Versions: 3.0.11
Reporter: J. Brébec
Given:
* A Java class having a method returning a generic Collection,
* A groovy script compiled with "CompileStatic" and using the method of the
JavaClass
Then the type of the element of the collection is not correctly inferred.
Example:
{code}
public class Bridge { // java
public <T extends File> Collection<T> getFiles() {
return null;
}
}
{code}
and the following script:
{code}
@groovy.transform.CompileStatic
def cst() {
new Bridge().files.collect { it.name }
}
{code}
the compilation fails with the error:
{code}
[Static type checking] - No such property: name for class: java.lang.Object
{code}
Note:
- It works in v3.0.10 but not in v3.0.11
- It works if the class is defined in the groovy script
- A repro is available here: https://github.com/j3rem1e/groovy-bug-generic
--
This message was sent by Atlassian Jira
(v8.20.10#820010)