/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ @ file : Jvm Name (" K Types ") Ċ package Ġkotlin . reflect . full Ċ Ċ import Ġorg . jetbrains . kotlin . types . Type Utils Ċ import Ġorg . jetbrains . kotlin . types . is Flex ible Ċ import Ġorg . jetbrains . kotlin . types . type Util . is Subtype Of Ċ import Ġkotlin . reflect .* Ċ import Ġkotlin . reflect . jvm . internal . K Type Impl Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġnew Ġtype Ġwith Ġthe Ġsame Ġclassifier , Ġarguments Ġand Ġannotations Ġas Ġthe Ġgiven Ġtype , Ġand Ġwith Ġthe Ġgiven Ġnull ability . Ċ Ġ*/ Ċ @ Since Kotlin (" 1 . 1 ") Ċ fun ĠK Type . with Null ability ( nullable : ĠBoolean ): ĠK Type Ġ{ ĊĠĠĠ Ġif Ġ( is Marked Nullable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( nullable ) Ġthis Ġelse ĠK Type Impl ( Type Utils . make NotNull able (( this Ġas ĠK Type Impl ). type )) Ġ{ Ġjava Type Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠIf Ġthe Ġtype Ġis Ġnot Ġmarked Ġnullable , Ġit 's Ġeither Ġa Ġnon - null Ġtype Ġor Ġa Ġplatform Ġtype . ĊĠĠĠ Ġval Ġkotlin Type Ġ= Ġ( this Ġas ĠK Type Impl ). type ĊĠĠĠ Ġif Ġ( kotlin Type . is Flex ible ()) Ġreturn ĠK Type Impl ( Type Utils . make Nullable As Specified ( kotlin Type , Ġnullable )) Ġ{ Ġjava Type Ġ} ĊĊĠĠĠ Ġreturn Ġif Ġ(! nullable ) Ġthis Ġelse ĠK Type Impl ( Type Utils . make Nullable ( kotlin Type )) Ġ{ Ġjava Type Ġ} Ċ } ĊĊ Ċ /** Ċ Ġ* ĠReturns Ġ` true ` Ġif Ġ` this ` Ġtype Ġis Ġthe Ġsame Ġor Ġis Ġa Ġsubtype Ġof Ġ[ other ], Ġ` false ` Ġotherwise . Ċ Ġ*/ Ċ @ Since Kotlin (" 1 . 1 ") Ċ fun ĠK Type . is Subtype Of ( other : ĠK Type ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠK Type Impl ). type . is Subtype Of (( other Ġas ĠK Type Impl ). type ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġ` true ` Ġif Ġ` this ` Ġtype Ġis Ġthe Ġsame Ġor Ġis Ġa Ġsup ertype Ġof Ġ[ other ], Ġ` false ` Ġotherwise . Ċ Ġ*/ Ċ @ Since Kotlin (" 1 . 1 ") Ċ fun ĠK Type . is Sup ertype Of ( other : ĠK Type ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġother . is Subtype Of ( this ) Ċ } Ċ