/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . common izer . cir Ċ Ċ sealed Ġclass ĠC ir Constant Value < out ĠT > Ġ{ ĊĠĠĠ Ġabstract Ġval Ġvalue : ĠT ĊĊĠĠĠ Ġdata Ġclass ĠString Value ( override Ġval Ġvalue : ĠString ) Ġ: ĠC ir Constant Value < String >() ĊĠĠĠ Ġdata Ġclass ĠChar Value ( override Ġval Ġvalue : ĠChar ) Ġ: ĠC ir Constant Value < Char >() ĊĊĠĠĠ Ġdata Ġclass ĠByte Value ( override Ġval Ġvalue : ĠByte ) Ġ: ĠC ir Constant Value < Byte >() ĊĠĠĠ Ġdata Ġclass ĠShort Value ( override Ġval Ġvalue : ĠShort ) Ġ: ĠC ir Constant Value < Short >() ĊĠĠĠ Ġdata Ġclass ĠInt Value ( override Ġval Ġvalue : ĠInt ) Ġ: ĠC ir Constant Value < Int >() ĊĠĠĠ Ġdata Ġclass ĠLong Value ( override Ġval Ġvalue : ĠLong ) Ġ: ĠC ir Constant Value < Long >() ĊĊĠĠĠ Ġdata Ġclass ĠU Byte Value ( override Ġval Ġvalue : ĠByte ) Ġ: ĠC ir Constant Value < Byte >() ĊĠĠĠ Ġdata Ġclass ĠU Short Value ( override Ġval Ġvalue : ĠShort ) Ġ: ĠC ir Constant Value < Short >() ĊĠĠĠ Ġdata Ġclass ĠUInt Value ( override Ġval Ġvalue : ĠInt ) Ġ: ĠC ir Constant Value < Int >() ĊĠĠĠ Ġdata Ġclass ĠU Long Value ( override Ġval Ġvalue : ĠLong ) Ġ: ĠC ir Constant Value < Long >() ĊĊĠĠĠ Ġdata Ġclass ĠFloat Value ( override Ġval Ġvalue : ĠFloat ) Ġ: ĠC ir Constant Value < Float >() ĊĠĠĠ Ġdata Ġclass ĠDouble Value ( override Ġval Ġvalue : ĠDouble ) Ġ: ĠC ir Constant Value < Double >() ĊĠĠĠ Ġdata Ġclass ĠBoolean Value ( override Ġval Ġvalue : ĠBoolean ) Ġ: ĠC ir Constant Value < Boolean >() ĊĊĠĠĠ Ġdata Ġclass ĠEnum Value ( val Ġenum Class Id : ĠC ir EntityId , Ġval Ġenum Entry Name : ĠC ir Name ) Ġ: ĠC ir Constant Value < String >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġvalue : ĠString Ġ= Ġ"${ enum Class Id }.${ enum Entry Name }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠArray Value ( override Ġval Ġvalue : ĠList < C ir Constant Value <* >>) Ġ: ĠC ir Constant Value < List < C ir Constant Value <* >> >() ĊĊĠĠĠ Ġobject ĠNull Value Ġ: ĠC ir Constant Value < Void ?> () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġvalue : ĠVoid ? Ġget () Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ" NullValue ( value = null )" ĊĠĠĠ Ġ} Ċ } Ċ