[ 
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