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

Final field assignment check on static compilation

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0-beta-3
    • 4.0.0-beta-2, 3.0.18
    • Compiler
    • None

    Description

      The following class definition should generate a compilation error on final field assignment.

      @groovy.transform.CompileStatic
      class StaticGroovy3 {
          def testFinalField() {
              def ff = new FinalField()
              ff.aField = 'y'
              println ff
          }
      }
      
      class FinalField {
          final aField = 'x'
      }
      
      new StaticGroovy3().testFinalField()
      

      Fails at runtime with groovy.lang.ReadOnlyPropertyException: Cannot set readonly property: aField for class: FinalField

      Attachments

        Issue Links

          Activity

            People

              emilles Eric Milles
              rgarcia Renato Garcia
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: