Jon Kerridge created GROOVY-8950:
------------------------------------

             Summary: A groovyc BUG when using jdk 11.0.1
                 Key: GROOVY-8950
                 URL: https://issues.apache.org/jira/browse/GROOVY-8950
             Project: Groovy
          Issue Type: Bug
          Components: Compiler
    Affects Versions: 3.0.0-alpha-3
         Environment: Intellij Gradle Build
            Reporter: Jon Kerridge


The source code (I tried to attach files but it would not work giving me a JIRA 
error sorry):

{color:#000043}package {color}gppLibrary.terminals.GUIsupport

{color:#000043}import {color}gppLibrary.*
{color:#000043}import {color}{color:#808000}groovy.transform.CompileStatic
{color}{color:#000043}import {color}jcsp.awt.*
{color:#000043}import {color}jcsp.lang.*

{color:#808000}@CompileStatic
{color}{color:#000043}class {color}GUImanager {color:#000043}implements 
{color}CSProcess {

 ChannelInput {color:#660e7a}input
{color} DisplayList {color:#660e7a}dList
{color} ResultDetails {color:#660e7a}guiDetails
{color}{color:#808080}// def resultsClass
{color}{color:#808080}// List finaliseData = null
{color}{color:#808080}
{color} {color:#000043}void {color}run(){
 {color:#000043}def {color}guiClass = 
Class.forName({color:#660e7a}guiDetails{color}.rName)
 {color:#000043}def {color}rc = guiClass.newInstance()
 {color:#000043}int {color}retCode = 
rc.&{color:#008000}"{color}${guiDetails.rInitMethod}{color:#008000}"{color}( 
{color:#660e7a}guiDetails{color}.rInitData << {color:#660e7a}dList {color})
 {color:#808080}// can do the timing from here
{color} {color:#000043}def {color}startime = System.currentTimeMillis()
 {color:#000043}def {color}inputObject = {color:#660e7a}input{color}.read()
 {color:#000043}while {color}(!(inputObject {color:#000043}instanceof 
{color}UniversalTerminator)){
 retCode = 
rc.&{color:#008000}"{color}${guiDetails.rCollectMethod}{color:#008000}"{color}( 
inputObject, {color:#660e7a}dList {color})
 {color:#000043}if {color}(retCode == 
DataClassInterface.{color:#660e7a}completedOK {color})
 inputObject = {color:#660e7a}input{color}.read()
 {color:#000043}else
{color} gppLibrary.DataClass.unexpectedReturnCode({color:#008000}"GUImanager: 
error while displaying"{color}, retCode)
 }
 retCode = 
rc.&{color:#008000}"{color}${guiDetails.rFinaliseMethod}{color:#008000}"{color}(
 {color:#660e7a}guiDetails{color}.rFinaliseData )
 {color:#000043}if {color}(retCode != 
DataClassInterface.{color:#660e7a}completedOK{color})
 gppLibrary.DataClass.unexpectedReturnCode({color:#008000}"GUImanager: error 
while finalising"{color}, retCode)
 {color:#808080}// print out the elapsed time
{color} {color:#000043}def {color}endtime = System.currentTimeMillis()
 {color:#000043}def {color}elapsedTime = endtime - startime
 println {color:#008000}"Time taken = {color}${elapsedTime}{color:#008000} 
milliseconds"
{color} }

}

The Gradle build is below:

repositories {
 mavenCentral()
 jcenter()
 maven {
 url {color:#008000}"https://dl.bintray.com/jonkerridge/jcsp";
{color} }
 {color:#808080}// following required for groovy-all:3.0.0
{color} maven {
 url 
{color:#008000}"https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all";
{color} }
}


dependencies {
 compile {color:#008000}'org.codehaus.groovy:groovy-all:3.0.0-alpha-3'
{color} compile {color:#008000}'cspforjava:jcsp:1.1.0'
{color} compile {color:#008000}'groovyJCSP:groovyJCSP:1.1.3'
{color} compile {color:#008000}group{color}: {color:#008000}'junit'{color}, 
{color:#008000}name{color}: {color:#008000}'junit'{color}, 
{color:#008000}version{color}: {color:#008000}'4.12'
{color} compile {color:#008000}group{color}: 
{color:#008000}'javax.xml.bind'{color}, {color:#008000}name{color}: 
{color:#008000}'jaxb-api'{color}, {color:#008000}version{color}: 
{color:#008000}'2.3.0'
{color} testCompile 
{color:#008000}'org.codehaus.groovy:groovy-all:3.0.0-alpha-3'
{color} testCompile {color:#008000}'cspforjava:jcsp:1.1.0'
{color} testCompile {color:#008000}'groovyJCSP:groovyJCSP:1.1.3'
{color} testCompile {color:#008000}group{color}: {color:#008000}'junit'{color}, 
{color:#008000}name{color}: {color:#008000}'junit'{color}, 
{color:#008000}version{color}: {color:#008000}'4.12'
{color} testCompile {color:#008000}group{color}: 
{color:#008000}'javax.xml.bind'{color}, {color:#008000}name{color}: 
{color:#008000}'jaxb-api'{color}, {color:#008000}version{color}: 
{color:#008000}'2.3.0'
{color}}

The error message is:

Error:Groovyc: While compiling gppLibrary_main: BUG! exception in phase 
'semantic analysis' in source unit 
'D:\IJGradle\gppLibrary\src\main\groovy\gppLibrary\terminals\GUIsupport\GUImanager.groovy'
 null
    at 
org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:972)
    at 
org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:633)
    at 
org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:582)
    at 
org.jetbrains.groovy.compiler.rt.GroovyCompilerWrapper.compile(GroovyCompilerWrapper.java:62)
    at 
org.jetbrains.groovy.compiler.rt.DependentGroovycRunner.runGroovyc(DependentGroovycRunner.java:119)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at 
org.jetbrains.groovy.compiler.rt.GroovycRunner.intMain2(GroovycRunner.java:90)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at 
org.jetbrains.jps.incremental.groovy.InProcessGroovyc.runGroovycInThisProcess(InProcessGroovyc.java:160)
    at 
org.jetbrains.jps.incremental.groovy.InProcessGroovyc.lambda$runGroovyc$0(InProcessGroovyc.java:89)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.UnsupportedOperationException
    at 
groovyjarjarasm.asm.ClassVisitor.visitNestMemberExperimental(ClassVisitor.java:248)
    at groovyjarjarasm.asm.ClassReader.accept(ClassReader.java:651)
    at groovyjarjarasm.asm.ClassReader.accept(ClassReader.java:391)
    at 
org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:83)
    at 
org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
    at 
org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
    at 
org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:172)
    at 
org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:128)
    at 
org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:742)
    at 
org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:392)
    at 
org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:520)
    at 
org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:390)
    at 
org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:353)
    at 
org.codehaus.groovy.control.ResolveVisitor.transformVariableExpression(ResolveVisitor.java:1009)
    at 
org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:760)
    at 
org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1156)
    at 
org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:768)
    at 
org.codehaus.groovy.control.ResolveVisitor.transformDeclarationExpression(ResolveVisitor.java:1181)
    at 
org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:764)
    at 
org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:144)
    at 
org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42)
    at 
org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:85)
    at 
org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106)
    at 
org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1431)
    at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71)
    at 
org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:110)
    at 
org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:121)
    at 
org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:55)
    at 
org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:246)
    at 
org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:132)
    at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1140)
    at 
org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:54)
    at 
org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1375)
    at 
org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:219)
    at 
org.codehaus.groovy.control.CompilationUnit$13.call(CompilationUnit.java:691)
    at 
org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:968)
    ... 19 more



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to