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

The default constructor should be annotated with @Generated

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.5.6
    • Fix Version/s: 3.0.0-beta-1, 2.5.7
    • Component/s: Compiler
    • Labels:
      None

      Description

      Groovy input:

      class GroovyDelegateClassTarget {
          @groovy.lang.Delegate
          Date target
      }
      

      Groovy output:

      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;
          }
      }
      

      The constructor for this class should be annotated with @Generated

      Issue found during Hackergarten Zurich.

        Attachments

          Activity

            People

            • Assignee:
              paulk Paul King
              Reporter:
              jwloka Jan Wloka
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: