// Ġ! DIAG NO ST ICS : Ġ- UNUSED _ EXPRESSION Ċ // Ġ! WITH _ SE AL ED _ CLASSES Ċ Ċ /* Ċ ĠK OT LIN ĠDI AG NO ST ICS ĠSPEC ĠTEST Ġ( NEGATIVE ) ĊĊ ĠSECTION S : Ġwhen - expression Ċ ĠPAR AG R APH : Ġ 1 1 Ċ ĠS ENT ENCE : Ġ[ 8 ] ĠThe Ġbound Ġexpression Ġis Ġof Ġa Ġnullable Ġtype Ġand Ġone Ġof Ġthe Ġareas Ġabove Ġis Ġmet Ġfor Ġits Ġnon - nullable Ġcounter part Ġand , Ġin Ġaddition , Ġthere Ġis Ġa Ġcondition Ġcontaining Ġliteral Ġnull . Ċ ĠNUMBER : Ġ 2 Ċ ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclasses Ġ( and Ġseveral Ġchecks Ġfor Ġnot Ġsealed ). Ċ Ġ*/ Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwithout Ġnull - check Ġbranch . Ċ fun Ġcase _ 1 ( value _ 1 : Ġ_ Se aled Class ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Child 1 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Child 2 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Child 3 Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwith Ġmixed Ġchecks Ġ( type Ġand Ġobject Ġcheck ) Ġand Ġnull - check Ġbranch . Ċ fun Ġcase _ 2 ( value _ 1 : Ġ_ Se aled Class Mixed ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 1 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 2 Ġ-> Ġ"" ĊĠĠĠ Ġ_ Se aled Mixed Child Object 1 Ġ-> Ġ"" ĊĠĠĠ Ġnull Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwith Ġenumeration Ġmixed Ġchecks Ġ( type Ġand Ġobject Ġcheck ) Ġand Ġnull - check Ġbranch . Ċ fun Ġcase _ 3 ( value _ 1 : Ġ_ Se aled Class Mixed ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{ ĊĠĠĠ Ġnull , Ġis Ġ_ Se aled Mixed Child 1 , Ġis Ġ_ Se aled Mixed Child 2 , Ġ_ Se aled Mixed Child Object 1 Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwith Ġall Ġsub types Ġand Ġobjects Ġcovered Ġwithout Ġnull - check Ġbranch . Ċ fun Ġcase _ 4 ( value _ 1 : Ġ_ Se aled Class Mixed ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 1 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 2 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 3 Ġ-> Ġ"" ĊĠĠĠ Ġ_ Se aled Mixed Child Object 1 Ġ-> Ġ"" ĊĠĠĠ Ġ_ Se aled Mixed Child Object 2 Ġ-> Ġ"" ĊĠĠĠ Ġ_ Se aled Mixed Child Object 3 Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwithout Ġnull - check Ġbranch Ġand Ġall Ġsub types Ġcovered , Ġbut Ġobjects Ġnot Ġcovered . Ċ fun Ġcase _ 5 ( value _ 1 : Ġ_ Se aled Class Mixed ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 1 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 2 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 3 Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwithout Ġbranches . Ċ fun Ġcase _ 6 ( value _ 1 : Ġ_ Se aled Class Mixed ?): ĠInt Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{} Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwith Ġnull - check Ġbranch Ġand Ġall Ġsub types Ġcovered , Ġbut Ġobjects Ġnot Ġcovered . Ċ fun Ġcase _ 7 ( value _ 1 : Ġ_ Se aled Class Mixed ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{ ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 1 Ġ-> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 2 -> Ġ"" ĊĠĠĠ Ġis Ġ_ Se aled Mixed Child 3 Ġ-> Ġ"" ĊĠĠĠ Ġnull Ġ-> Ġ"" Ċ } Ċ Ċ // ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable Ġsealed Ġclass Ġwithout Ġnull - check Ġbranch Ġand Ġonly Ġobject Ġcovered . Ċ fun Ġcase _ 8 ( value _ 1 : Ġ_ Se aled Class Mixed ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! >( value _ 1 ) Ġ{ ĊĠĠĠ Ġ_ Se aled Mixed Child Object 1 Ġ-> Ġ"" Ċ } Ċ Ċ /* Ċ ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġnullable ĠAny . Ċ ĠDIS CU SS ION : Ġmaybe Ġmake Ġex haustive Ġwithout Ġelse ? Ċ Ġ*/ Ċ fun Ġcase _ 1 0 ( value _ 1 : ĠAny ?): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! > Ġ( value _ 1 ) Ġ{ ĊĠĠĠ Ġis ĠAny Ġ-> Ġ"" ĊĠĠĠ Ġnull Ġ-> Ġ"" Ċ } Ċ Ċ /* Ċ ĠCASE ĠDESCRIPTION : ĠChecking Ġfor Ġnot Ġex haustive Ġ' when ' Ġon Ġthe Ġempty Ġsealed Ġclass Ġ( without Ġsub types ). Ċ ĠDIS CU SS ION Ċ ĠISS UES : ĠK T - 2 6 0 4 4 Ċ Ġ*/ Ċ fun Ġcase _ 1 1 ( value : Ġ_ Se aled Class Empty ): ĠString Ġ= Ġ<! NO _ ELSE _ IN _ WHEN !> when <! > Ġ( value ) Ġ{} Ċ