You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2018/08/21 10:24:00 UTC
[jira] [Updated] (GROOVY-8760) can't instantiate a class that
inherits from base class marked with @MapConstructor
[ https://issues.apache.org/jira/browse/GROOVY-8760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King updated GROOVY-8760:
------------------------------
Description:
basic inheritance where parent is tagged with @MapConstructor then child class cant be instantiated
example as follows
{code}
@MapConstructor
class A {
String name
A() {}
String toString() {
"A ($name)"
}
}
class B extends A {
String toString() {
"B ($name)"
}
}
def myA = new A(name:"will")
println myA
def myB = new B(name:"fred")
println myB
{code}
run this and get a RT exception
{noformat}
A (will)
Caught: java.lang.NoSuchMethodError: com.softwood.scripts.A: method <init>()V not found
java.lang.NoSuchMethodError: com.softwood.scripts.A: method <init>()V not found
at com.softwood.scripts.B.<init>(TestOfferingAttributeGroup.groovy)
at com.softwood.scripts.TestOfferingAttributeGroup.run(TestOfferingAttributeGroup.groovy:28)
{noformat}
was:
basic inheritance where parent is tagged with @MapConstructor then child class cant be instantiated
example as follows
@MapConstructor
class A {
String name
A() {}
String toString() {
"A ($name)"
}
}
class B extends A {
String toString() {
"B ($name)"
}
}
def myA = new A(name:"will")
println myA
def myB = new B(name:"fred")
println myB
run this and get a RT exception
A (will)
Caught: java.lang.NoSuchMethodError: com.softwood.scripts.A: method <init>()V not found
java.lang.NoSuchMethodError: com.softwood.scripts.A: method <init>()V not found
at com.softwood.scripts.B.<init>(TestOfferingAttributeGroup.groovy)
at com.softwood.scripts.TestOfferingAttributeGroup.run(TestOfferingAttributeGroup.groovy:28)
> can't instantiate a class that inherits from base class marked with @MapConstructor
> -----------------------------------------------------------------------------------
>
> Key: GROOVY-8760
> URL: https://issues.apache.org/jira/browse/GROOVY-8760
> Project: Groovy
> Issue Type: Bug
> Components: groovy-runtime
> Affects Versions: 2.5.1
> Environment: intellij 2018.1.4, java jdk 8.0_172, groovy 2.5.1
> Reporter: William Woodman
> Priority: Major
> Labels: features
>
> basic inheritance where parent is tagged with @MapConstructor then child class cant be instantiated
> example as follows
>
> {code}
> @MapConstructor
> class A {
> String name
> A() {}
> String toString() {
> "A ($name)"
> }
> }
> class B extends A {
> String toString() {
> "B ($name)"
> }
> }
> def myA = new A(name:"will")
> println myA
> def myB = new B(name:"fred")
> println myB
> {code}
> run this and get a RT exception
> {noformat}
> A (will)
> Caught: java.lang.NoSuchMethodError: com.softwood.scripts.A: method <init>()V not found
> java.lang.NoSuchMethodError: com.softwood.scripts.A: method <init>()V not found
> at com.softwood.scripts.B.<init>(TestOfferingAttributeGroup.groovy)
> at com.softwood.scripts.TestOfferingAttributeGroup.run(TestOfferingAttributeGroup.groovy:28)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)