// ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ċ package Ġorg . jetbrains . kotlin . j 2 k . ast Ċ Ċ import Ġorg . jetbrains . kotlin . j 2 k . Code Builder Ċ Ċ class ĠEnum ( ĊĠĠĠĠĠĠĠ Ġname : ĠIdentifier , ĊĠĠĠĠĠĠĠ Ġannotations : ĠAn notations , ĊĠĠĠĠĠĠĠ Ġmodifiers : ĠMod ifiers , ĊĠĠĠĠĠĠĠ Ġtype Parameter List : ĠType Parameter List , ĊĠĠĠĠĠĠĠ Ġimplements Types : ĠList < Type >, ĊĠĠĠĠĠĠĠ Ġbody : ĠClass Body Ċ ) Ġ: ĠClass ( name , Ġannotations , Ġmodifiers , Ġtype Parameter List , Ġempty List (), Ġnull , Ġimplements Types , Ġbody ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġgenerate Code ( builder : ĠCode Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder Ġappend Ġannotations Ġappend With Space After Ġpresentation Modifiers () Ġappend Ġ" enum Ġclass Ġ" Ġappend Ġname ĊĊĠĠĠĠĠĠĠ Ġif Ġ( body . primary Constructor Signature Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( body . primary Constructor Signature ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuilder Ġappend Ġtype Parameter List ĊĊĠĠĠĠĠĠĠ Ġappend Base Types ( builder ) ĊĊĠĠĠĠĠĠĠ Ġbody . appendTo ( builder ) ĊĠĠĠ Ġ} Ċ } Ċ