Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.5.11, 2.5.12, 2.5.13
Description
If you try to compile the project at https://github.com/demus-nine/groovy-class-generic-stackoverflowerror groovyc crashes with a StackoverflowError. This happens in org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport#applyGenericsContext(java.util.Map<org.codehaus.groovy.ast.GenericsType.GenericsTypeName,org.codehaus.groovy.ast.GenericsType>, org.codehaus.groovy.ast.ClassNode) in this bit of recursive code:
if (bound.isArray()) { return applyGenericsContext(spec, bound.getComponentType()).makeArray(); }
although I have seen it throw in other methods in the StaticTypeCheckingSupport class.
The class that is being handled is an abstract class with a generic parameter, but in the code using the type there aren't enough hints to the compiler to resolve the generic constraint, possibly because it is self-referential.