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

Groovy objects trying to override final methods

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0, 1.1-rc-2
    • Fix Version/s: 1.5
    • Labels:
      None
    • Environment:
      Windows XP
      Groovy Version: 1.0 JVM: 1.6.0-b105
      Groovy Version: 1.1-rc-2 JVM: 1.6.0-b105

      Description

      Using a java framework that defines a class like this

      public class FrameworkComponent {
      // lots of fields
      // lots of methods
      public final Object getProperty(String name)

      { return frameworkStuff.get(name); }

      // lots of other fields
      // lots of other methods
      }

      If one tries to create a Groovy class that extends this
      FrameworkComponent like the following:

      class MyComponent extends FrameworkComponent {
      def size = 10
      }

      the groovy compiler raises an error saying that MyComponent
      overrides final method getProperty(String name) from
      FrameworkComponent.

      Attached to this issue follows bug.zip containing a mockup of this
      framework and a Groovy class that extends the framework class.

      To reproduce the error just unzip the file, navigate to the unzipped folder
      and fire:

      groovyc -cp framework.jar MyComponent.groovy

      it will raise the following error lines

      org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, MyComponent.groovy: -1: You are not allowed to overwrite the final method getProperty(java.lang.String) from class 'FrameworkComponent'.
      @ line -1, column -1.
      1 error

        Attachments

        1. bug.zip
          1 kB
          Reginaldo Delfino

          Issue Links

            Activity

              People

              • Assignee:
                blackdrag Jochen Theodorou
                Reporter:
                rdelfino Reginaldo Delfino
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: