You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Jan Wloka (JIRA)" <ji...@apache.org> on 2019/03/21 19:18:00 UTC
[jira] [Created] (GROOVY-9051) @groovy.lang.Delegate should
generate a constructor annotated with @Generated
Jan Wloka created GROOVY-9051:
---------------------------------
Summary: @groovy.lang.Delegate should generate a constructor annotated with @Generated
Key: GROOVY-9051
URL: https://issues.apache.org/jira/browse/GROOVY-9051
Project: Groovy
Issue Type: Bug
Components: Compiler
Affects Versions: 2.5.6
Reporter: Jan Wloka
Groovy input:
{code:java}
class GroovyDelegateClassTarget {
@groovy.lang.Delegate
Date target
}
{code}
Groovy output:
{code}
public class GroovyDelegateClassTarget implements GroovyObject, Serializable, Cloneable, Comparable {
@Delegate
private Date target;
public GroovyDelegateClassTarget() {
CallSite[] var1 = $getCallSiteArray();
super();
MetaClass var2 = this.$getStaticMetaClass();
this.metaClass = var2;
}
@Generated
public long getTime() {
CallSite[] var1 = $getCallSiteArray();
return DefaultTypeTransformation.longUnbox(var1[0].call(this.target));
}
@Generated
public void setTime(long param0) {
CallSite[] var3 = $getCallSiteArray();
var3[1].call(this.target, param0);
}
@Generated
public boolean before(Date param0) {
CallSite[] var2 = $getCallSiteArray();
return DefaultTypeTransformation.booleanUnbox(var2[2].call(this.target, param0));
}
@Generated
public boolean after(Date param0) {
CallSite[] var2 = $getCallSiteArray();
return DefaultTypeTransformation.booleanUnbox(var2[3].call(this.target, param0));
}
@Generated
public int compareTo(Date param0) {
CallSite[] var2 = $getCallSiteArray();
return DefaultTypeTransformation.intUnbox(var2[4].call(this.target, param0));
}
@Generated
public Instant toInstant() {
CallSite[] var1 = $getCallSiteArray();
return (Instant)ScriptBytecodeAdapter.castToType(var1[5].call(this.target), Instant.class);
}
@Generated
public Date getTarget() {
return this.target;
}
@Generated
public void setTarget(Date var1) {
this.target = var1;
}
}
{code}
The constructor for this class should be annotated with @Generated
Issue found during Hackergarten Zurich.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)