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)

Reply via email to