groovy
  1. groovy
  2. GROOVY-5221

Problem with @InheritConstructors with multiple level of inheritance (part 1 of 2 - document the current limitation)

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.8.4
    • Fix Version/s: 1.8.6, 2.0-beta-3, 1.7.11
    • Component/s: Compiler
    • Labels:
      None
    • Testcase included:
      yes
    • Number of attachments :
      1

      Description

      See also GROOVY-5274 which will be the actual fix, changing the focus of this issue to updating the doco to outline the current limitations.

      =======================

      See test eclipse project attached.

      • Class Hierarchy : A <-- inherit – B <-- inherit – C
      • A define constructor public A(String dummy) {...}
      • B and C use @InheritConstructors.
      • In the main(...) : C.class.newInstance("tata")
      • Result : Exception in thread "main" groovy.lang.GroovyRuntimeException: Could not find matching constructor for: data.C(java.lang.String)
        at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1474)
        at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1390)
        at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:824)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.newInstance(DefaultGroovyMethods.java:17689)
        at org.codehaus.groovy.runtime.dgm$511.doMethodInvoke(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:43)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at Main.MainLaunch.main(MainLaunch.groovy:7)

        Issue Links

          Activity

          Paul King made changes -
          Field Original Value New Value
          Link This issue is related to GROOVY-5274 [ GROOVY-5274 ]
          Paul King made changes -
          Assignee Paul King [ paulk ]
          Fix Version/s 1.8.6 [ 18245 ]
          Description See test eclipse project attached.

          - Class Hierarchy : A <-- inherit -- B <-- inherit -- C

          - A define constructor public A(String dummy){...}

          - B and C use @InheritConstructors.

          - In the main(...) : C.class.newInstance("tata")

          - Result : Exception in thread "main" groovy.lang.GroovyRuntimeException: Could not find matching constructor for: data.C(java.lang.String)
          at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1474)
          at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1390)
          at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:824)
          at org.codehaus.groovy.runtime.DefaultGroovyMethods.newInstance(DefaultGroovyMethods.java:17689)
          at org.codehaus.groovy.runtime.dgm$511.doMethodInvoke(Unknown Source)
          at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:43)
          at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
          at Main.MainLaunch.main(MainLaunch.groovy:7)
          See also GROOVY-5274 which will be the actual fix, changing the focus of this issue to updating the doco to outline the current limitations.

          =======================

          See test eclipse project attached.

          - Class Hierarchy : A <-- inherit -- B <-- inherit -- C

          - A define constructor public A(String dummy){...}

          - B and C use @InheritConstructors.

          - In the main(...) : C.class.newInstance("tata")

          - Result : Exception in thread "main" groovy.lang.GroovyRuntimeException: Could not find matching constructor for: data.C(java.lang.String)
          at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1474)
          at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1390)
          at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:824)
          at org.codehaus.groovy.runtime.DefaultGroovyMethods.newInstance(DefaultGroovyMethods.java:17689)
          at org.codehaus.groovy.runtime.dgm$511.doMethodInvoke(Unknown Source)
          at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:43)
          at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
          at Main.MainLaunch.main(MainLaunch.groovy:7)
          Paul King made changes -
          Summary Problem with @InheritConstructors with multiple level of inheritance Problem with @InheritConstructors with multiple level of inheritance (part 1 of 2 - current document the limitation)
          Paul King made changes -
          Summary Problem with @InheritConstructors with multiple level of inheritance (part 1 of 2 - current document the limitation) Problem with @InheritConstructors with multiple level of inheritance (part 1 of 2 - document the current limitation)
          Paul King made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 2.0-beta-3 [ 18244 ]
          Fix Version/s 1.7.11 [ 17244 ]
          Resolution Fixed [ 1 ]
          Paul King made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Paul King
              Reporter:
              ronan michaux
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: