/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . Ġ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 . gradle . plugin Ċ Ċ import Ġorg . gradle . api . Named Ċ import Ġorg . gradle . api . attributes . Attribute Ċ import Ġorg . gradle . api . attributes . Attribute Compatibility Rule Ċ import Ġorg . gradle . api . attributes . Compatibility Check Details Ċ import Ġjava . io . Serializable Ċ Ċ enum Ġclass ĠKotlin Platform Type : ĠNamed , ĠSerializable Ġ{ ĊĠĠĠ Ġcommon , Ġj vm , Ġjs , Ġandroid Jvm , ĊĠĠĠ Ġnative ; Ġ// ĠTODO : Ġsplit Ġnative Ġinto Ġseparate Ġentries Ġhere Ġor Ġtransform Ġthe Ġenum Ġto Ġinterface Ġand Ġimplement Ġentries Ġin ĠK / N ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġname ĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ= Ġname ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġattribute Ġ= ĠAttribute . of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" org . jetbrains . kotlin . platform . type ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Platform Type :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠCompatibility Rule Ġ: ĠAttribute Compatibility Rule < Kotlin Platform Type > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġexecute ( details : ĠCompatibility Check Details < Kotlin Platform Type >) Ġ= Ġwith ( details ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproducer Value Ġ== Ġj vm Ġ&& Ġconsumer Value Ġ== Ġandroid Jvm Ġ-> Ġcompatible () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproducer Value Ġ== Ġconsumer Value Ġ-> Ġcompatible () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }