Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-4582

allow named argument list expressions for enum field init code

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.7.2
    • None
    • Compiler
    • None

    Description

      Reported against groovy eclipse but appears to be a groovy problem. Similar stack to GROOVY-3613, but wasn't clear what was happening in that bug.

      Zip is attached. Compile with:
      groovyc -j de\brazzy\nikki\Texts.java de\brazzy\nikki\model\Image.groovy de\brazzy\nikki\model\ImageSortField.groovy

      produces

      >>> a serious error occurred: BUG! exception in phase 'class generation' in source unit 'de\brazzy\nikki\model\ImageSortField.groovy
      ' MapEntryExpression should not be visited here
      >>> stacktrace:
      BUG! exception in phase 'class generation' in source unit 'de\brazzy\nikki\model\ImageSortField.groovy' MapEntryExpression should no
      t be visited here
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitMapEntryExpression(AsmClassGenerator.java:3123)
              at org.codehaus.groovy.ast.expr.MapEntryExpression.visit(MapEntryExpression.java:37)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitAndAutoboxBoolean(AsmClassGenerator.java:4078)
              at org.codehaus.groovy.classgen.AsmClassGenerator.makeCallSite(AsmClassGenerator.java:2148)
              at org.codehaus.groovy.classgen.AsmClassGenerator.makeCall(AsmClassGenerator.java:1982)
              at org.codehaus.groovy.classgen.AsmClassGenerator.makeCall(AsmClassGenerator.java:1968)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitStaticMethodCallExpression(AsmClassGenerator.java:2376)
              at org.codehaus.groovy.ast.expr.StaticMethodCallExpression.visit(StaticMethodCallExpression.java:43)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitAndAutoboxBoolean(AsmClassGenerator.java:4078)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitCastExpression(AsmClassGenerator.java:1891)
              at org.codehaus.groovy.classgen.AsmClassGenerator.assignmentCastAndVisit(AsmClassGenerator.java:4017)
              at org.codehaus.groovy.classgen.AsmClassGenerator.evaluateEqual(AsmClassGenerator.java:3969)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:1446)
              at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:49)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitAndAutoboxBoolean(AsmClassGenerator.java:4078)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitExpressionStatement(AsmClassGenerator.java:1427)
              at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40)
              at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:35)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:165)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:700)
              at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:51)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:101)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:112)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:587)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:562)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:123)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitMethod(AsmClassGenerator.java:657)
              at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1039)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:50)
              at org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:275)
              at org.codehaus.groovy.control.CompilationUnit$11.call(CompilationUnit.java:751)
              at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:958)
              at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:517)
              at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:495)
              at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:472)
              at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:456)
              at org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:57)
              at org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:170)
              at org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompile(FileSystemCompiler.java:138)
              at org.codehaus.groovy.tools.FileSystemCompiler.main(FileSystemCompiler.java:152)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
              at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
      

      Attachments

        1. bug.zip
          1 kB
          Jochen Theodorou
        2. groovy4219_enumMapConstructor.patch
          1 kB
          Jochen Theodorou

        Issue Links

          Activity

            People

              paulk Paul King
              aclement Andy Clement
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: