// Ġ! LANGUAGE : Ġ+ New Inference Ċ // Ġ! DIAG NO ST ICS : Ġ- UNUSED _ VARIABLE Ġ- ASS IGNED _ B UT _ NE VER _ ACC ES SED _ VARIABLE Ġ- UNUSED _ VALUE Ġ- UNUSED _ PARAMETER Ġ- UNUSED _ EXPRESSION Ċ // ĠSKIP _ TXT ĊĊ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 Ċ class ĠCase 1 Ċ Ċ fun Ġcase 1 ( case : ĠCase 1 ) Ġ{ ĊĠĠĠ Ġcase . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : Ġb oo ; Ġtype Call : Ġextension Ġfunction ") !> b oo ( 1 ) <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> b oo ( 1 ) <! > ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : Ġb oo ; Ġtype Call : Ġextension Ġfunction ") !> b oo ( x Ġ= Ġ 1 ) <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> b oo ( x Ġ= Ġ 1 ) <! > ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠCase 1 . b oo ( x : ĠInt ): ĠString Ġ= ĠTODO () Ġ// ( 1 . 1 ) Ċ fun ĠCase 1 . b oo ( x : ĠLong ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 2 ) Ċ fun ĠCase 1 . b oo ( x : ĠShort ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 3 ) Ċ fun ĠCase 1 . b oo ( x : ĠByte ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 4 ) Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 Ċ class ĠCase 2 Ġ{ ĊĠĠĠ Ġfun Ġb oo ( x : ĠInt , Ġy : ĠInt ): ĠString Ġ= ĠTODO () Ġ// ( 1 . 1 ) ĊĠĠĠ Ġfun Ġb oo ( x : ĠLong , Ġy : ĠInt ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 2 ) ĊĠĠĠ Ġfun Ġb oo ( x : ĠShort , Ġy : ĠInt ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 3 ) ĊĠĠĠ Ġfun Ġb oo ( x : ĠByte , Ġy : ĠInt ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 4 ) Ċ } Ċ Ċ fun Ġcase 2 ( case : ĠCase 2 ) Ġ{ ĊĠĠĠ Ġcase . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : ĠCase 2 . b oo ; Ġtype Call : Ġfunction ") !> b oo ( 1 , Ġ 2 ) <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> b oo ( 1 , Ġ 2 ) <! > ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : ĠCase 2 . b oo ; Ġtype Call : Ġfunction ") !> b oo ( x Ġ= Ġ 1 , Ġy Ġ= Ġ 2 ) <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> b oo ( x Ġ= Ġ 1 , Ġy Ġ= Ġ 2 ) <! > ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 3 Ċ class ĠCase 3 Ġ{ ĊĠĠĠ Ġfun Ġb oo ( x : ĠInt , Ġy : ĠInt ): ĠString Ġ= ĠTODO () Ġ// ( 1 . 1 ) ĊĠĠĠ Ġfun Ġb oo ( x : ĠInt , Ġy : ĠShort ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 2 ) Ċ } Ċ Ċ fun Ġcase 3 ( case : ĠCase 3 ) Ġ{ ĊĠĠĠ Ġcase . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : ĠCase 3 . b oo ; Ġtype Call : Ġfunction ") !> b oo ( 1 , Ġ 2 ) <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> b oo ( 1 , Ġ 2 ) <! > ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : ĠCase 3 . b oo ; Ġtype Call : Ġfunction ") !> b oo ( x Ġ= Ġ 1 , Ġy Ġ= Ġ 2 ) <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> b oo ( x Ġ= Ġ 1 , Ġy Ġ= Ġ 2 ) <! > ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ // ĠTEST CASE ĠNUMBER : Ġ 4 Ċ class ĠCase 4 Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġminus ( x : ĠInt ): ĠString Ġ= ĠTODO () Ġ// ( 1 . 1 ) ĊĠĠĠ Ġoperator Ġfun Ġminus ( x : ĠLong ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 2 ) ĊĠĠĠ Ġoperator Ġfun Ġminus ( x : ĠShort ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 3 ) ĊĠĠĠ Ġoperator Ġfun Ġminus ( x : ĠByte ): ĠUnit Ġ= ĠTODO () Ġ// ( 1 . 4 ) Ċ } Ċ Ċ fun Ġcase 4 ( case : ĠCase 4 ) Ġ{ ĊĠĠĠ Ġcase . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : ĠCase 4 . minus ; Ġtype Call : Ġoperator Ġfunction ") !> minus ( 1 ) <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> minus ( 1 ) <! > ĊĠĠĠĠĠĠĠ Ġ// to Ġ( 1 . 1 ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CALL (" fq Name : ĠCase 4 . minus ; Ġtype Call : Ġoperator Ġfunction ") !> this Ġ- Ġ 1 <! > ĊĠĠĠĠĠĠĠ Ġ// ( 1 . 1 ) Ġreturn Ġtype Ġis ĠString ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ") !> this Ġ- Ġ 1 <! > ĊĠĠĠ Ġ} Ċ } Ċ