// Ġ! LANGUAGE : Ġ+ New Inference Ċ // Ġ! DIAG NO ST ICS : Ġ- UNUSED _ EXPRESSION Ġ- UNUSED _ VARIABLE Ġ- UNUSED _ VALUE Ċ // ĠSKIP _ TXT Ċ Ċ /* Ċ Ġ* ĠTEST CASE ĠNUMBER : Ġ 1 Ċ Ġ* ĠUN EXPECTED ĠBE HAV IO UR Ċ Ġ* ĠISS UES : ĠK T - 2 8 3 7 0 Ċ Ġ*/ Ċ fun Ġcase _ 1 () Ġ{ ĊĠĠĠ Ġvar Ġx : ĠBoolean ? Ġ= Ġtrue ĊĠĠĠ Ġif Ġ( x Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Boolean ? Ġ& Ġkotlin . Boolean ?") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Boolean ? Ġ& Ġkotlin . Boolean ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > not () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* Ċ Ġ* ĠTEST CASE ĠNUMBER : Ġ 2 Ċ Ġ* ĠUN EXPECTED ĠBE HAV IO UR Ċ Ġ* ĠISS UES : ĠK T - 2 8 3 7 0 Ċ Ġ*/ Ċ fun Ġcase _ 2 () Ġ{ ĊĠĠĠ Ġvar Ġx : ĠBoolean ? Ġ= Ġtrue ĊĠĠĠ Ġif Ġ( x Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Boolean ? Ġ& Ġkotlin . Boolean ?") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Boolean ? Ġ& Ġkotlin . Boolean ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > not () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* Ċ Ġ* ĠTEST CASE ĠNUMBER : Ġ 3 Ċ Ġ* ĠUN EXPECTED ĠBE HAV IO UR Ċ Ġ* ĠISS UES : ĠK T - 2 9 4 8 2 Ċ Ġ*/ Ċ fun Ġcase _ 3 ( x : ĠString ?) Ġ{ ĊĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! > ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > length Ċ } Ċ Ċ /* Ċ Ġ* ĠTEST CASE ĠNUMBER : Ġ 4 Ċ Ġ* ĠUN EXPECTED ĠBE HAV IO UR Ċ Ġ* ĠISS UES : ĠK T - 2 9 4 8 2 Ċ Ġ*/ Ċ fun Ġcase _ 4 ( x : ĠString ?) Ġ{ ĊĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx !! ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! > ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > length Ċ } Ċ Ċ /* Ċ Ġ* ĠTEST CASE ĠNUMBER : Ġ 5 Ċ Ġ* ĠUN EXPECTED ĠBE HAV IO UR Ċ Ġ* ĠISS UES : ĠK T - 2 9 4 8 2 Ċ Ġ*/ Ċ fun Ġcase _ 5 ( x : ĠString ?) Ġ{ ĊĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx !! ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġwhile Ġ( true ) ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! > ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > length Ċ } Ċ Ċ /* Ċ Ġ* ĠTEST CASE ĠNUMBER : Ġ 6 Ċ Ġ* ĠUN EXPECTED ĠBE HAV IO UR Ċ Ġ* ĠISS UES : ĠK T - 2 9 4 8 2 Ċ Ġ*/ Ċ fun Ġcase _ 6 ( x : ĠString ?) Ġ{ ĊĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġwhile Ġ( true ) ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! > ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . String ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > length Ċ } Ċ