import Ġkotlin . contracts .* Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 1 ( x : ĠString ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns NotNull () Ġimplies Ġ(!( x Ġ== Ġnull )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 2 ( x : ĠString ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns NotNull () Ġimplies Ġ( x Ġis ĠString Ġ&& Ġx Ġ!= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 3 ( x : ĠString ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns NotNull () Ġimplies Ġ( x Ġis ĠString ? Ġ|| Ġx Ġis ĠAny ?) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 4 ( x : ĠString ?, Ġy : ĠString ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġ!= Ġnull Ġ&& Ġy Ġ!= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġ!= Ġnull Ġ&& Ġy Ġ!= Ġnull Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 5 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġ!= Ġnull Ġ|| Ġx Ġis ĠAny ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġ!= Ġnull Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 6 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġis ĠString ? Ġ&& Ġx Ġ!= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġis ĠString Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 7 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġis ĠString ? Ġ&& Ġx Ġ!= Ġnull Ġ|| Ġx Ġis ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġis ĠString Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 8 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġis ĠString Ġ|| Ġx Ġis ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġis ĠString Ġ|| Ġx Ġis ĠInt Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 9 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġis ĠString Ġ|| Ġx Ġis ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif ( x Ġis ĠString ){ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġx Ġis ĠInt Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 1 0 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġis ĠComparable < *> Ġ|| Ġx Ġis ĠCharSequence ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġis ĠString Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 1 1 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġis ĠComparable < *> Ġ&& Ġx Ġis ĠCharSequence ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġis ĠString Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 1 2 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( x Ġis ĠComparable < *> Ġ&& Ġ( x Ġis ĠCharSequence Ġ|| Ġx Ġis ĠNumber )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġis ĠString Ġ|| Ġx Ġis ĠInt Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġtest 1 3 ( x : ĠAny ?): ĠAny ? Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ(!( x Ġ! is ĠComparable < *> Ġ|| Ġ( x Ġ! is ĠCharSequence Ġ&& Ġ!( x Ġis ĠNumber )))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġx Ġis ĠString Ġ|| Ġx Ġis ĠInt Ċ }