You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2017/02/01 23:19:07 UTC
[jira] [Closed] (GROOVY-7185) Impossible to override method with
generic array of Java class.
[ https://issues.apache.org/jira/browse/GROOVY-7185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-7185.
-----------------------------
> Impossible to override method with generic array of Java class.
> ---------------------------------------------------------------
>
> Key: GROOVY-7185
> URL: https://issues.apache.org/jira/browse/GROOVY-7185
> Project: Groovy
> Issue Type: Bug
> Components: Compiler
> Affects Versions: 2.2.2, 2.3.8, 2.4.6
> Environment: groovy 2.2.2 (tried with 2.3.8)
> java openjdk 1.7.0_65
> maven 3.2.2
> maven-compiler-plugin 3.1
> groovy-eclipse-compiler 2.8.0-01
> groovy-eclipse-batch 2.1.5-03
> Reporter: Andrey Beletsky
> Assignee: Shil Sinha
> Labels: compiler, generics, java
> Fix For: 2.4.8
>
>
> Java classes:
> {code}
> public interface A<T> {
> T[] process();
> }
> public class B implements A<String> {
> @Override
> public String[] process() {
> return new String[0];
> }
> }
> {code}
> Groovy class:
> {code}
> class C extends B {
> @Override
> String[] process() {
> return super.process()
> }
> }
> {code}
> I've got following error during compilation:
> {noformat}
> Groovy:The return type of [Ljava.lang.String; process() in temp.C is incompatible with [Ljava.lang.Object; process() in temp.B
> {noformat}
> BTW, I can't convert classes A and B to Groovy because it's library's classes (not mine).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)