Eric Milles created GROOVY-8111:
-----------------------------------
Summary: Stack overflow between WideningCategories
lowestUpperBound and parameterizeLowestUpperBound
Key: GROOVY-8111
URL: https://issues.apache.org/jira/browse/GROOVY-8111
Project: Groovy
Issue Type: Bug
Reporter: Eric Milles
I have run into this stack overflow error a few times when editing a Groovy
file with, for example, a Map with generics specified and the value type has
generics as well.
The problem appears in WideningCategories.lowestUpperBound and its callees.
Captured on Groovy 2.4.9:
{code}
java.lang.StackOverflowError
at org.codehaus.groovy.ast.ClassNode.getText(ClassNode.java:1686)
at org.codehaus.groovy.ast.ClassNode.equals(ClassNode.java:813)
at org.codehaus.groovy.ast.ClassNode.equals(ClassNode.java:810)
at
org.codehaus.groovy.ast.ClassNode.declaresInterface(ClassNode.java:1082)
at
org.codehaus.groovy.ast.ClassNode.implementsInterface(ClassNode.java:1060)
at
org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport.implementsInterfaceOrIsSubclassOf(StaticTypeCheckingSupport.java:798)
at
org.codehaus.groovy.ast.tools.GenericsUtils.extractSuperClassGenerics(GenericsUtils.java:434)
at
org.codehaus.groovy.ast.tools.GenericsUtils.parameterizeType(GenericsUtils.java:228)
at
org.codehaus.groovy.ast.tools.WideningCategories.findGenericsTypeHolderForClass(WideningCategories.java:269)
at
org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:233)
at
org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:203)
at
org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:250)
at
org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:203)
at
org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:250)
at
org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:203)
at
org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:250)
at
org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:203)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)