[ 
https://issues.apache.org/jira/browse/GROOVY-11551?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joseph Athman updated GROOVY-11551:
-----------------------------------
    Description: 
Writing a constructor which has a series of `as` statements seems to cause the 
Groovy compiler to never complete (or at least takes many many hours).

*Example which works fine:*

{{class ConstructorTest {}}
{{    List<String> list1}}
{{    List<String> list2}}

{{    ConstructorTest(Object[] values) {}}
{{        int i = 0}}
{{        list1 = values[i++] as List<String>}}
{{        list2 = values[i++] as List<String>}}
{{    }}}
{{}}}

 

*Example which will never finish compiling*

 
{{class ConstructorTest {}}
{{  List<String> list1}}
{{  List<String> list2}}
{{  List<String> list3}}
{{  List<String> list4}}
{{  List<String> list5}}
{{  List<String> list6}}
{{  List<String> list7}}
{{  List<String> list8}}
{{  List<String> list9}}
{{  List<String> list10}}
{{  List<String> list11}}
{{  List<String> list12}}

{{  ConstructorTest(Object[] values) {}}
{{    int i =0}}
{{    list1 = values[i++] as List<String>}}
{{    list2 = values[i++] as List<String>}}
{{    list3 = values[i++] as List<String>}}
{{    list4 = values[i++] as List<String>}}
{{    list5 = values[i++] as List<String>}}
{{    list6 = values[i++] as List<String>}}
{{    list7 = values[i++] as List<String>}}
{{    list8 = values[i++] as List<String>}}
{{    list9 = values[i++] as List<String>}}
{{    list10 = values[i++] as List<String>}}
{{    list11 = values[i++] as List<String>}}
{{    list12 = values[i++] as List<String>}}
{{  }}}
{{}}}
 

It seems like around 8 or 9 of these statements eventually causes the issue. 
Note that changing the `as` statements to normal cast statements will fix the 
compiler issue as well.

When I've seen this issue, performing a thread dump of the Groovy compiler 
shows a stack trace like this:

{{"pool-1-thread-7" #25 prio=5 os_prio=31 cpu=8011.58ms elapsed=182.97s 
tid=0x0000000129084e00 nid=0x9d03 runnable [0x0000000318612000]}}
{{java.lang.Thread.State: RUNNABLE}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.PredictionContext.join(PredictionContext.java:196)}}
{{at groovyjarjarantlr4.v4.runtime.atn.ATNConfigSet.add(ATNConfigSet.java:257)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1791)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1684)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeTargetState(ParserATNSimulator.java:1137)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeReachSet(ParserATNSimulator.java:1020)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execATN(ParserATNSimulator.java:750)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execDFA(ParserATNSimulator.java:544)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:409)}}
{{at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:357)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.generalClassOrInterfaceType(GroovyParser.java:3107)}}
{{at org.apache.groovy.parser.antlr4.GroovyParser.type(GroovyParser.java:3005)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9126)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.enhancedStatementExpression(GroovyParser.java:8011)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9155)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.statement(GroovyParser.java:6915)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.blockStatement(GroovyParser.java:5555)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.blockStatements(GroovyParser.java:4866)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.blockStatementsOpt(GroovyParser.java:4805)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.block(GroovyParser.java:5501)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.methodBody(GroovyParser.java:3776)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.methodDeclaration(GroovyParser.java:2306)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.memberDeclaration(GroovyParser.java:2147)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.classBodyDeclaration(GroovyParser.java:2092)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.classBody(GroovyParser.java:1857)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.classDeclaration(GroovyParser.java:1735)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.typeDeclaration(GroovyParser.java:693)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.scriptStatement(GroovyParser.java:496)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.scriptStatements(GroovyParser.java:410)}}
{{at 
org.apache.groovy.parser.antlr4.GroovyParser.compilationUnit(GroovyParser.java:357)}}
{{at org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:250)}}
{{at org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:220)}}
{{at org.apache.groovy.parser.antlr4.AstBuilder.buildAST(AstBuilder.java:269)}}
{{at 
org.apache.groovy.parser.antlr4.Antlr4ParserPlugin.buildAST(Antlr4ParserPlugin.java:58)}}
{{at org.codehaus.groovy.control.SourceUnit.buildAST(SourceUnit.java:257)}}
{{at 
org.codehaus.groovy.control.CompilationUnit$$Lambda$341/0x00000008003618d8.accept(Unknown
 Source)}}
{{at java.util.Iterator.forEachRemaining(java.base@17.0.8/Iterator.java:133)}}
{{at 
java.util.Spliterators$IteratorSpliterator.forEachRemaining(java.base@17.0.8/Spliterators.java:1845)}}
{{at 
java.util.stream.ReferencePipeline$Head.forEach(java.base@17.0.8/ReferencePipeline.java:762)}}
{{at 
org.codehaus.groovy.control.CompilationUnit.buildASTs(CompilationUnit.java:666)}}
{{at 
org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:632)}}
{{at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:389)}}
{{at 
groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)}}
{{at 
groovy.lang.GroovyClassLoader$$Lambda$315/0x000000080035ad28.provide(Unknown 
Source)}}
{{at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)}}
{{at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)}}
{{at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330)}}
{{at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)}}
{{at com.nvuillam.Request.parseFile(Request.groovy:222)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
{{at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
{{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
{{at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
{{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
{{at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)}}
{{at 
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)}}
{{at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)}}
{{at com.nvuillam.Request$_parseFiles_closure3.doCall(Request.groovy:153)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
{{at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
{{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
{{at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
{{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
{{at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)}}
{{at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)}}
{{at groovy.lang.Closure.call(Closure.java:412)}}
{{at groovy.lang.Closure.call(Closure.java:428)}}
{{at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)}}
{{at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)}}
{{at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2384)}}
{{at org.codehaus.groovy.runtime.dgm$202.invoke(Unknown Source)}}
{{at 
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)}}
{{at 
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)}}
{{at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)}}
{{at com.nvuillam.Request.parseFiles(Request.groovy:152)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
{{at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
{{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
{{at 
org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)}}
{{at 
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)}}
{{at 
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)}}
{{at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)}}
{{at com.nvuillam.Request.process(Request.groovy:120)}}
{{at com.nvuillam.Request$process.call(Unknown Source)}}
{{at 
com.nvuillam.CodeNarcServer$_request_closure5.doCall(CodeNarcServer.groovy:179)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)}}
{{at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
{{at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
{{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
{{at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
{{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
{{at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)}}
{{at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)}}
{{at groovy.lang.Closure.call(Closure.java:412)}}
{{at 
org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:50)}}
{{at 
org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:110)}}
{{at jdk.proxy3.$Proxy11.handle(jdk.proxy3/Unknown Source)}}
{{at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)}}
{{at 
sun.net.httpserver.AuthFilter.doFilter(jdk.httpserver@17.0.8/AuthFilter.java:82)}}
{{at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
{{at 
sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(jdk.httpserver@17.0.8/ServerImpl.java:851)}}
{{at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)}}
{{at com.nvuillam.LoggingFilter.doFilter(LoggingFilter.groovy:32)}}
{{at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
{{at com.nvuillam.GzipFilter.doFilter(GzipFilter.groovy:17)}}
{{at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
{{at com.nvuillam.TracingFilter.doFilter(TracingFilter.groovy:27)}}
{{at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
{{at 
sun.net.httpserver.ServerImpl$Exchange.run(jdk.httpserver@17.0.8/ServerImpl.java:818)}}
{{at 
java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.8/ThreadPoolExecutor.java:1136)}}
{{at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.8/ThreadPoolExecutor.java:635)}}
{{at java.lang.Thread.run(java.base@17.0.8/Thread.java:833)}}

  was:
Writing a constructor which has a series of `as` statements seems to cause the 
Groovy compiler to never complete (or at least takes many many hours).

*Example which works fine:*

{{
class ConstructorTest {
    List<String> list1
    List<String> list2

    ConstructorTest(Object[] values) {
        int i = 0
        list1 = values[i++] as List<String>
        list2 = values[i++] as List<String>
    }
}
}}

*Example which will never finish compiling*

class ConstructorTest {
    List<String> list1
    List<String> list2
    List<String> list3
    List<String> list4
    List<String> list5
    List<String> list6
    List<String> list7
    List<String> list8
    List<String> list9
    List<String> list10
    List<String> list11
    List<String> list12

    ConstructorTest(Object[] values) {
        int i = 0
        list1 = values[i++] as List<String>
        list2 = values[i++] as List<String>
        list3 = values[i++] as List<String>
        list4 = values[i++] as List<String>
        list5 = values[i++] as List<String>
        list6 = values[i++] as List<String>
        list7 = values[i++] as List<String>
        list8 = values[i++] as List<String>
        list9 = values[i++] as List<String>
        list10 = values[i++] as List<String>
        list11 = values[i++] as List<String>
        list12 = values[i++] as List<String>
    }
}

It seems like around 8 or 9 of these statements eventually causes the issue. 
Note that changing the `as` statements to normal cast statements will fix the 
compiler issue as well.

When I've seen this issue, performing a thread dump of the Groovy compiler 
shows a stack trace like this:

"pool-1-thread-7" #25 prio=5 os_prio=31 cpu=8011.58ms elapsed=182.97s 
tid=0x0000000129084e00 nid=0x9d03 runnable  [0x0000000318612000]
   java.lang.Thread.State: RUNNABLE
        at 
groovyjarjarantlr4.v4.runtime.atn.PredictionContext.join(PredictionContext.java:196)
        at 
groovyjarjarantlr4.v4.runtime.atn.ATNConfigSet.add(ATNConfigSet.java:257)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1791)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1684)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeTargetState(ParserATNSimulator.java:1137)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeReachSet(ParserATNSimulator.java:1020)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execATN(ParserATNSimulator.java:750)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execDFA(ParserATNSimulator.java:544)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:409)
        at 
groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:357)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.generalClassOrInterfaceType(GroovyParser.java:3107)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.type(GroovyParser.java:3005)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9126)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.enhancedStatementExpression(GroovyParser.java:8011)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9155)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.statement(GroovyParser.java:6915)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.blockStatement(GroovyParser.java:5555)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.blockStatements(GroovyParser.java:4866)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.blockStatementsOpt(GroovyParser.java:4805)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.block(GroovyParser.java:5501)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.methodBody(GroovyParser.java:3776)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.methodDeclaration(GroovyParser.java:2306)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.memberDeclaration(GroovyParser.java:2147)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.classBodyDeclaration(GroovyParser.java:2092)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.classBody(GroovyParser.java:1857)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.classDeclaration(GroovyParser.java:1735)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.typeDeclaration(GroovyParser.java:693)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.scriptStatement(GroovyParser.java:496)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.scriptStatements(GroovyParser.java:410)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.compilationUnit(GroovyParser.java:357)
        at 
org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:250)
        at 
org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:220)
        at 
org.apache.groovy.parser.antlr4.AstBuilder.buildAST(AstBuilder.java:269)
        at 
org.apache.groovy.parser.antlr4.Antlr4ParserPlugin.buildAST(Antlr4ParserPlugin.java:58)
        at org.codehaus.groovy.control.SourceUnit.buildAST(SourceUnit.java:257)
        at 
org.codehaus.groovy.control.CompilationUnit$$Lambda$341/0x00000008003618d8.accept(Unknown
 Source)
        at 
java.util.Iterator.forEachRemaining(java.base@17.0.8/Iterator.java:133)
        at 
java.util.Spliterators$IteratorSpliterator.forEachRemaining(java.base@17.0.8/Spliterators.java:1845)
        at 
java.util.stream.ReferencePipeline$Head.forEach(java.base@17.0.8/ReferencePipeline.java:762)
        at 
org.codehaus.groovy.control.CompilationUnit.buildASTs(CompilationUnit.java:666)
        at 
org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:632)
        at 
groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:389)
        at 
groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)
        at 
groovy.lang.GroovyClassLoader$$Lambda$315/0x000000080035ad28.provide(Unknown 
Source)
        at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
        at 
org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330)
        at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)
        at com.nvuillam.Request.parseFile(Request.groovy:222)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)
        at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)
        at 
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
        at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
        at com.nvuillam.Request$_parseFiles_closure3.doCall(Request.groovy:153)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)
        at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
        at groovy.lang.Closure.call(Closure.java:412)
        at groovy.lang.Closure.call(Closure.java:428)
        at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)
        at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)
        at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2384)
        at org.codehaus.groovy.runtime.dgm$202.invoke(Unknown Source)
        at 
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)
        at 
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
        at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
        at com.nvuillam.Request.parseFiles(Request.groovy:152)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)
        at 
org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
        at 
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
        at 
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
        at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
        at com.nvuillam.Request.process(Request.groovy:120)
        at com.nvuillam.Request$process.call(Unknown Source)
        at 
com.nvuillam.CodeNarcServer$_request_closure5.doCall(CodeNarcServer.groovy:179)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
Method)
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)
        at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
        at groovy.lang.Closure.call(Closure.java:412)
        at 
org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:50)
        at 
org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:110)
        at jdk.proxy3.$Proxy11.handle(jdk.proxy3/Unknown Source)
        at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)
        at 
sun.net.httpserver.AuthFilter.doFilter(jdk.httpserver@17.0.8/AuthFilter.java:82)
        at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)
        at 
sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(jdk.httpserver@17.0.8/ServerImpl.java:851)
        at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)
        at com.nvuillam.LoggingFilter.doFilter(LoggingFilter.groovy:32)
        at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)
        at com.nvuillam.GzipFilter.doFilter(GzipFilter.groovy:17)
        at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)
        at com.nvuillam.TracingFilter.doFilter(TracingFilter.groovy:27)
        at 
com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)
        at 
sun.net.httpserver.ServerImpl$Exchange.run(jdk.httpserver@17.0.8/ServerImpl.java:818)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.8/ThreadPoolExecutor.java:1136)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.8/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17.0.8/Thread.java:833)



> Constructor with Several `as` statements takes exponential time to Compile
> --------------------------------------------------------------------------
>
>                 Key: GROOVY-11551
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11551
>             Project: Groovy
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 4.0.24
>            Reporter: Joseph Athman
>            Priority: Major
>
> Writing a constructor which has a series of `as` statements seems to cause 
> the Groovy compiler to never complete (or at least takes many many hours).
> *Example which works fine:*
> {{class ConstructorTest {}}
> {{    List<String> list1}}
> {{    List<String> list2}}
> {{    ConstructorTest(Object[] values) {}}
> {{        int i = 0}}
> {{        list1 = values[i++] as List<String>}}
> {{        list2 = values[i++] as List<String>}}
> {{    }}}
> {{}}}
>  
> *Example which will never finish compiling*
>  
> {{class ConstructorTest {}}
> {{  List<String> list1}}
> {{  List<String> list2}}
> {{  List<String> list3}}
> {{  List<String> list4}}
> {{  List<String> list5}}
> {{  List<String> list6}}
> {{  List<String> list7}}
> {{  List<String> list8}}
> {{  List<String> list9}}
> {{  List<String> list10}}
> {{  List<String> list11}}
> {{  List<String> list12}}
> {{  ConstructorTest(Object[] values) {}}
> {{    int i =0}}
> {{    list1 = values[i++] as List<String>}}
> {{    list2 = values[i++] as List<String>}}
> {{    list3 = values[i++] as List<String>}}
> {{    list4 = values[i++] as List<String>}}
> {{    list5 = values[i++] as List<String>}}
> {{    list6 = values[i++] as List<String>}}
> {{    list7 = values[i++] as List<String>}}
> {{    list8 = values[i++] as List<String>}}
> {{    list9 = values[i++] as List<String>}}
> {{    list10 = values[i++] as List<String>}}
> {{    list11 = values[i++] as List<String>}}
> {{    list12 = values[i++] as List<String>}}
> {{  }}}
> {{}}}
>  
> It seems like around 8 or 9 of these statements eventually causes the issue. 
> Note that changing the `as` statements to normal cast statements will fix the 
> compiler issue as well.
> When I've seen this issue, performing a thread dump of the Groovy compiler 
> shows a stack trace like this:
> {{"pool-1-thread-7" #25 prio=5 os_prio=31 cpu=8011.58ms elapsed=182.97s 
> tid=0x0000000129084e00 nid=0x9d03 runnable [0x0000000318612000]}}
> {{java.lang.Thread.State: RUNNABLE}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.PredictionContext.join(PredictionContext.java:196)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ATNConfigSet.add(ATNConfigSet.java:257)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1791)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1684)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeTargetState(ParserATNSimulator.java:1137)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeReachSet(ParserATNSimulator.java:1020)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execATN(ParserATNSimulator.java:750)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execDFA(ParserATNSimulator.java:544)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:409)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:357)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.generalClassOrInterfaceType(GroovyParser.java:3107)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.type(GroovyParser.java:3005)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9126)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.enhancedStatementExpression(GroovyParser.java:8011)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9155)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.statement(GroovyParser.java:6915)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.blockStatement(GroovyParser.java:5555)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.blockStatements(GroovyParser.java:4866)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.blockStatementsOpt(GroovyParser.java:4805)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.block(GroovyParser.java:5501)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.methodBody(GroovyParser.java:3776)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.methodDeclaration(GroovyParser.java:2306)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.memberDeclaration(GroovyParser.java:2147)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.classBodyDeclaration(GroovyParser.java:2092)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.classBody(GroovyParser.java:1857)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.classDeclaration(GroovyParser.java:1735)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.typeDeclaration(GroovyParser.java:693)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.scriptStatement(GroovyParser.java:496)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.scriptStatements(GroovyParser.java:410)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.compilationUnit(GroovyParser.java:357)}}
> {{at 
> org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:250)}}
> {{at 
> org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:220)}}
> {{at 
> org.apache.groovy.parser.antlr4.AstBuilder.buildAST(AstBuilder.java:269)}}
> {{at 
> org.apache.groovy.parser.antlr4.Antlr4ParserPlugin.buildAST(Antlr4ParserPlugin.java:58)}}
> {{at org.codehaus.groovy.control.SourceUnit.buildAST(SourceUnit.java:257)}}
> {{at 
> org.codehaus.groovy.control.CompilationUnit$$Lambda$341/0x00000008003618d8.accept(Unknown
>  Source)}}
> {{at java.util.Iterator.forEachRemaining(java.base@17.0.8/Iterator.java:133)}}
> {{at 
> java.util.Spliterators$IteratorSpliterator.forEachRemaining(java.base@17.0.8/Spliterators.java:1845)}}
> {{at 
> java.util.stream.ReferencePipeline$Head.forEach(java.base@17.0.8/ReferencePipeline.java:762)}}
> {{at 
> org.codehaus.groovy.control.CompilationUnit.buildASTs(CompilationUnit.java:666)}}
> {{at 
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:632)}}
> {{at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:389)}}
> {{at 
> groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)}}
> {{at 
> groovy.lang.GroovyClassLoader$$Lambda$315/0x000000080035ad28.provide(Unknown 
> Source)}}
> {{at 
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)}}
> {{at 
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)}}
> {{at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330)}}
> {{at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)}}
> {{at com.nvuillam.Request.parseFile(Request.groovy:222)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
> {{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
> {{at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)}}
> {{at com.nvuillam.Request$_parseFiles_closure3.doCall(Request.groovy:153)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
> {{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
> {{at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)}}
> {{at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)}}
> {{at groovy.lang.Closure.call(Closure.java:412)}}
> {{at groovy.lang.Closure.call(Closure.java:428)}}
> {{at 
> org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)}}
> {{at 
> org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)}}
> {{at 
> org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2384)}}
> {{at org.codehaus.groovy.runtime.dgm$202.invoke(Unknown Source)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)}}
> {{at com.nvuillam.Request.parseFiles(Request.groovy:152)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)}}
> {{at com.nvuillam.Request.process(Request.groovy:120)}}
> {{at com.nvuillam.Request$process.call(Unknown Source)}}
> {{at 
> com.nvuillam.CodeNarcServer$_request_closure5.doCall(CodeNarcServer.groovy:179)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
> {{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
> {{at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)}}
> {{at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)}}
> {{at groovy.lang.Closure.call(Closure.java:412)}}
> {{at 
> org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:50)}}
> {{at 
> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:110)}}
> {{at jdk.proxy3.$Proxy11.handle(jdk.proxy3/Unknown Source)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)}}
> {{at 
> sun.net.httpserver.AuthFilter.doFilter(jdk.httpserver@17.0.8/AuthFilter.java:82)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at 
> sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(jdk.httpserver@17.0.8/ServerImpl.java:851)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)}}
> {{at com.nvuillam.LoggingFilter.doFilter(LoggingFilter.groovy:32)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at com.nvuillam.GzipFilter.doFilter(GzipFilter.groovy:17)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at com.nvuillam.TracingFilter.doFilter(TracingFilter.groovy:27)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at 
> sun.net.httpserver.ServerImpl$Exchange.run(jdk.httpserver@17.0.8/ServerImpl.java:818)}}
> {{at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.8/ThreadPoolExecutor.java:1136)}}
> {{at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.8/ThreadPoolExecutor.java:635)}}
> {{at java.lang.Thread.run(java.base@17.0.8/Thread.java:833)}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to