groovy
  1. groovy
  2. GROOVY-5180

Enum Comparison results in incorrect map behavior when using add assignment operator

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.8.2
    • Fix Version/s: 1.8.4
    • Component/s: Compiler
    • Labels:
      None
    • Environment:
      java version "1.6.0_23"
      OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10)
      OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

      Groovy Version: 1.8.2 JVM: 1.6.0_23
    • Testcase included:
      yes
    • Number of attachments :
      1

      Description

      In the attached test case you will see four methods which do the same three things. Each initializes a map, increments a value in the map, and then returns the map. The method called "works()" uses the add assignment operator to do this. The "buggy()" method is the same, but adds an enum comparison.

      There is some interaction between the enum comparison and the += operator. The method "numericComparison()" is just like "buggy()," but performs an integer comparison. The "workaround()" method avoids the += operator. Both of these methods return a Map as expected.

        Activity

        Paul King made changes -
        Field Original Value New Value
        Affects Version/s 1.8.4 [ 17852 ]
        Paul King made changes -
        Environment java version "1.6.0_23"
        OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10)
        OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

        Groovy Version: 1.8.4 JVM: 1.6.0_23
        java version "1.6.0_23"
        OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10)
        OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

        Groovy Version: 1.8.2 JVM: 1.6.0_23
        Guillaume Laforge made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Fix Version/s 1.8.4 [ 17852 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            David Clark
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: