Skip to content

Commit 5268609

Browse files
committed
GROOVY-11770: StackOverflowError processing generics (backport for GROOVY_3_0_X)
1 parent a94862d commit 5268609

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/main/java/org/codehaus/groovy/ast/tools/WideningCategories.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,11 @@ private static ClassNode parameterizeLowestUpperBound(final ClassNode lub, final
259259
// "String implements Comparable<String>" and "StringBuffer implements Comparable<StringBuffer>"
260260
basicType = fallback; // do not loop
261261
} else {
262-
basicType = lowestUpperBound(t1, t2);
262+
try {
263+
basicType = lowestUpperBound(t1, t2);
264+
} catch (StackOverflowError ignore) {
265+
basicType = fallback; // best we can do for now
266+
}
263267
}
264268
if (agt[i].isWildcard() || bgt[i].isWildcard() || !t1.equals(t2)) {
265269
lubGTs[i] = GenericsUtils.buildWildcardType(basicType);

0 commit comments

Comments
 (0)