[ https://issues.apache.org/jira/browse/GROOVY-7826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Laforge updated GROOVY-7826: -------------------------------------- Description: The following two Java classes C1 and C2 cause Groovy to enter infinite recursion in genericTypeAsString when a method that takes a C1 is declared: C1.java: {code} public class C1 <T2 extends C2<T2,T1>,T1 extends C1<T2,T1>> { } class C2<T2 extends C2<T2, T1>, T1 extends C1<T2, T1>> { } {code} repro.groovy {code} def f(C1 c1) { } {code} This is reduced from actual code in Jenkins, where Run and Job have type parameters like this. was: The following two Java classes C1 and C2 cause Groovy to enter infinite recursion in genericTypeAsString when a method that takes a C1 is declared: C1.java: public class C1 <T2 extends C2<T2,T1>,T1 extends C1<T2,T1>> { } class C2<T2 extends C2<T2, T1>, T1 extends C1<T2, T1>> { } repro.groovy def f(C1 c1) { } This is reduced from actual code in Jenkins, where Run and Job have type parameters like this. > Infinite recursion in genericTypeAsString > ----------------------------------------- > > Key: GROOVY-7826 > URL: https://issues.apache.org/jira/browse/GROOVY-7826 > Project: Groovy > Issue Type: Bug > Affects Versions: 2.2.0-beta-2 > Environment: Groovy Version: 2.4.6 JVM: 1.8.0_91 Vendor: Oracle > Corporation OS: Linux > Reporter: Magnus Reftel > Assignee: Pascal Schumacher > Labels: regresion > Fix For: 2.4.7 > > Attachments: groovy-7826.zip > > > The following two Java classes C1 and C2 cause Groovy to enter infinite > recursion in genericTypeAsString when a method that takes a C1 is declared: > C1.java: > {code} > public class C1 <T2 extends C2<T2,T1>,T1 extends C1<T2,T1>> { } > class C2<T2 extends C2<T2, T1>, T1 extends C1<T2, T1>> { } > {code} > repro.groovy > {code} > def f(C1 c1) { } > {code} > This is reduced from actual code in Jenkins, where Run and Job have type > parameters like this. -- This message was sent by Atlassian JIRA (v6.3.4#6332)