// ĠFIR _ IDE _ IGNORE Ċ // Ġ! LANGUAGE : Ġ+ New Inference Ċ // Ġ! DIAG NO ST ICS : Ġ- UNUSED _ EXPRESSION Ċ // ĠSKIP _ TXT Ċ Ċ /* Ċ Ġ* ĠK OT LIN ĠDI AG NO ST ICS ĠNOT ĠLINK ED ĠSPEC ĠTEST Ġ( NEGATIVE ) Ċ Ġ* Ċ Ġ* ĠSECTION S : Ġd fa Ċ Ġ* ĠNUMBER : Ġ 1 Ċ Ġ* ĠDESCRIPTION : ĠRaw Ġdata Ġflow Ġanalysis Ġtest Ċ Ġ* ĠHEL PER S : Ġclasses , Ġobjects , Ġfunctions , Ġtype aliases , Ġproperties , Ġenum Classes , Ġinterfaces , Ġsealed Classes Ċ Ġ*/ Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 Ċ fun Ġcase _ 1 ( x : ĠAny ?) Ġ{ ĊĠĠĠ Ġif Ġ( x Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Any ?") !> x <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 3 Ċ fun Ġcase _ 3 () Ġ{ ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> Object . prop _ 1 Ġ== Ġnull Ġ!== Ġnull <! >) ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 4 Ċ fun Ġcase _ 4 ( x : ĠChar ?) Ġ{ ĊĠĠĠ Ġif Ġ( x Ġ!= Ġnull Ġ|| Ġ<! USE LESS _ IS _ CHECK !> false Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Char ?") !> x <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 5 Ċ fun Ġcase _ 5 () Ġ{ ĊĠĠĠ Ġval Ġx : ĠUnit ? Ġ= Ġnull ĊĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> x Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean ? <! >< ! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! > ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >. prop T ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >. prop Nullable T ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >. prop Nullable Any ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >. fun T () ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >. fun Nullable T () ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ?") !> x <! >. fun Nullable Any () Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 6 Ċ fun Ġcase _ 6 ( x : ĠEmpty Class ?) Ġ{ ĊĠĠĠ Ġval Ġy Ġ= Ġtrue ĊĊĠĠĠ Ġif Ġ( <! USE LESS _ IS _ CHECK ! >( x Ġ!= Ġnull Ġ&& Ġ! y ) Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Class ?") !> x <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 7 Ċ fun Ġcase _ 7 () Ġ{ ĊĠĠĠ Ġif Ġ( nullable Number Property Ġ!= Ġnull Ġ|| Ġ<! EQUAL ITY _ NOT _ AP PL IC ABLE ! >< ! DEBUG _ INFO _ CONSTANT , ĠDEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Nothing ? Ġ& Ġkotlin . Number ?") !> nullable Number Property <! > Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< ! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> nullable Number Property <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 8 Ċ fun Ġcase _ 8 ( x : ĠType alias Nullable String ) Ġ{ ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ=== Ġnull <! > Ġ&& Ġ<! S ENSE LESS _ COMP AR IS ON ! >< ! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! > Ġ!= Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! > get ( 0 ) ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ!== Ġnull Ġ!= Ġnull <! > Ġ&& Ġ<! S ENSE LESS _ COMP AR IS ON ! >< ! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! > Ġ!= Ġnull Ġ=== Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! > get ( 0 ) Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 9 Ċ fun Ġcase _ 9 ( x : ĠType alias Nullable String <! RED UND ANT _ NULL ABLE ! >? <! >) Ġ{ ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> x Ġ=== Ġnull Ġ=== Ġnull <! >) Ġ{ ĊĊĠĠĠ Ġ} Ġelse Ġif Ġ( <! USE LESS _ IS _ CHECK !> false Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! > get ( 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 0 Ċ fun Ġcase _ 1 0 () Ġ{ ĊĠĠĠ Ġval Ġa Ġ= ĠClass () ĊĊĠĠĠ Ġif Ġ( a . prop _ 4 Ġ=== Ġnull Ġ|| Ġ<! USE LESS _ IS _ CHECK !> true Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> a . prop _ 4 Ġ!= Ġnull Ġ!== Ġnull <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >. prop T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >. prop Nullable T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >. prop Nullable Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >. fun T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >. fun Nullable T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ?") !> a . prop _ 4 <! >. fun Nullable Any () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 1 Ċ fun Ġcase _ 1 1 ( x : ĠType alias Nullable String Indirect <! RED UND ANT _ NULL ABLE ! >? <! >, Ġy : ĠType alias Nullable String Indirect ) Ġ{ ĊĠĠĠ Ġval Ġt : ĠType alias Nullable String Indirect Ġ= Ġnull ĊĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> x Ġ== Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< ! >) Ġ{ ĊĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> y Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< !> Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! USE LESS _ IS _ CHECK ! >( nullable String Property Ġ== Ġnull ) Ġ! is ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> t Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< ! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. equals ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. prop T ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. prop Nullable T ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. fun T () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect ? Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. fun Nullable Any () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 2 Ċ fun Ġcase _ 1 2 ( x : ĠType alias Nullable String Indirect , Ġy : ĠType alias Nullable String Indirect ) Ġ= ĊĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S ! >< ! USE LESS _ IS _ CHECK ! >( x Ġ== Ġnull ) Ġ! is ĠBoolean <! > Ġ=== Ġfalse <! >) Ġ" 1 " ĊĠĠĠ Ġelse Ġif Ġ( <! USE LESS _ IS _ CHECK ! >( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!== Ġnull <! >) Ġis ĠBoolean <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! > ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. equals ( null ) ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. prop T ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. prop Nullable T ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. prop Nullable Any ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. fun T () ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. fun Nullable T () ĊĠĠĠ Ġelse Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> y Ġ=== Ġnull Ġ!= Ġnull <! >) Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable String Indirect Ġ/* Ġ= Ġkotlin . String ? Ġ*/ ") !> x <! >. fun Nullable Any () ĊĠĠĠ Ġelse Ġ"- 1 " Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 3 Ċ fun Ġ<! IMP LICIT _ NOTH ING _ RETURN _ TYPE !> case _ 1 3 <! >( x : Ġ<! UN RESOL VED _ REFERENCE !> other package <! >. <! DEBUG _ INFO _ MISSING _ UN RESOL VED !> Case 1 3 <! > ?) Ġ= ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Nothing ") !> if Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S ! >( <! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> == <! > Ġ<! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! >) Ġ!== Ġtrue <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠException () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE , ĠDEBUG _ INFO _ EXPRESSION _ TYPE ("[ ERROR Ġ: Ġother package . Case 1 3 ]? ") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE , ĠDEBUG _ INFO _ EXPRESSION _ TYPE ("[ ERROR Ġ: Ġother package . Case 1 3 ]? ") !> x <! >. <! DEBUG _ INFO _ MISSING _ UN RESOL VED !> equals <! >( <! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! >) ĊĠĠĠ Ġ} <! > Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 4 Ċ class ĠCase 1 4 Ġ{ ĊĠĠĠ Ġval Ġx : Ġ<! UN RESOL VED _ REFERENCE !> other package <! >. <! DEBUG _ INFO _ MISSING _ UN RESOL VED !> Case 1 4 <! >? ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ= Ġ<! UN RESOL VED _ REFERENCE !> other package <! >. <! DEBUG _ INFO _ MISSING _ UN RESOL VED !> Case 1 4 <! >() ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN RE ACH ABLE _ CODE ") Ċ fun Ġcase _ 1 4 () Ġ{ ĊĠĠĠ Ġval Ġa Ġ= ĠCase 1 4 () ĊĊĠĠĠ Ġif Ġ( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġ<! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! > Ġ! is ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġnull Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ!== Ġnull Ġ== Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġnull Ġ== Ġnull <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġnull Ġ!== Ġnull <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġnull Ġ=== Ġtrue <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ!== Ġnull Ġ=== Ġ<! USE LESS _ IS _ CHECK !> true Ġ! is ĠBoolean <! >< !> Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġnull Ġ!== Ġfalse <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġnull Ġ=== Ġfalse <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ!== Ġnull Ġ=== Ġtrue <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! USE LESS _ IS _ CHECK ! >( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġnull Ġ!= Ġtrue ) Ġ! is ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġ<! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! > Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( <! IMP LICIT _ BOX ING _ IN _ IDENTITY _ EQUAL S !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< ! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ<! DEBUG _ INFO _ MISSING _ UN RESOL VED !> != <! > Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( <! IMP LICIT _ BOX ING _ IN _ IDENTITY _ EQUAL S !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! > Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! >< ! >) Ġ== Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE ("[ ERROR Ġ: Ġother package . Case 1 4 ]? ") !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! >< !> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE ("[ ERROR Ġ: Ġother package . Case 1 4 ]? ") !> a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! >< ! >. <! DEBUG _ INFO _ MISSING _ UN RESOL VED !> equals <! >( a .< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE !> x <! >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 5 Ċ fun Ġcase _ 1 5 ( x : ĠEmpty Object ) Ġ{ ĊĠĠĠ Ġval Ġ<! UNUSED _ VARIABLE !> t <! > Ġ= Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> x Ġ=== Ġ<! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! > Ġis ĠBoolean <! > Ġis ĠBoolean <! >< ! >) Ġ"" Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Empty Object ") !> x <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 6 Ċ fun Ġcase _ 1 6 () Ġ{ ĊĠĠĠ Ġval Ġx : ĠType alias Nullable Nothing Ġ= Ġnull ĊĊĠĠĠ Ġif Ġ( <! DEBUG _ INFO _ CONSTANT !> x <! > Ġ!= Ġ<! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK ! >< ! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! > Ġ! is ĠBoolean <! > Ġ! is ĠBoolean <! > Ġ! is ĠBoolean <! > Ġ! is ĠBoolean <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ CONSTANT , ĠDEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable Nothing Ġ/* Ġ= Ġkotlin . Nothing ? Ġ*/ ") !> x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Type alias Nullable Nothing Ġ/* Ġ= Ġkotlin . Nothing ? Ġ*/ ") !> x <! >< ! UN SAFE _ CALL ! >. <! >< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE , ĠNEW _ IN FER ENCE _ NO _ INFORMATION _ FOR _ PARAMETER !> java <! > ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 7 Ċ val Ġcase _ 1 7 Ġ= Ġif Ġ( nullable Int Property Ġ== Ġnull Ġ== Ġtrue Ġ== Ġfalse ) Ġ 0 Ġelse Ġ{ ĊĠĠĠ Ġ<! DEBUG _ INFO _ CONSTANT , ĠDEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ? Ġ& Ġkotlin . Nothing ?") !> nullable Int Property <! > ĊĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ? Ġ& Ġkotlin . Nothing ?") !> nullable Int Property <! >< ! UN SAFE _ CALL ! >. <! >< ! DEBUG _ INFO _ ELEMENT _ WITH _ ERROR _ TYPE , ĠNEW _ IN FER ENCE _ NO _ INFORMATION _ FOR _ PARAMETER !> java <! > Ċ } Ċ Ċ // TEST CASE ĠNUMBER : Ġ 1 8 Ċ fun Ġcase _ 1 8 ( a : ĠDeep Object . A . B . C . D . E . F . G . J ?) Ġ{ ĊĠĠĠ Ġif Ġ( <! S ENSE LESS _ COMP AR IS ON !> a Ġ!= Ġnull Ġ!== Ġnull <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" Deep Object . A . B . C . D . E . F . G . J ?") !> a <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 1 9 Ċ fun Ġcase _ 1 9 ( b : ĠBoolean ) Ġ{ ĊĠĠĠ Ġval Ġa Ġ= Ġif Ġ( b ) Ġ{ ĊĠĠĠĠĠĠĠ Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠB 1 9 Ġ= Ġif Ġ( b ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠC 1 9 Ġ= Ġif Ġ( b ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠD 1 9 Ġ= Ġif Ġ( b ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx : ĠNumber ? Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġnull ĊĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> a Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! >< !> Ġ&& Ġ<! EQUAL ITY _ NOT _ AP PL IC ABLE !> a <! UN SAFE _ CALL ! >. <! > B 1 9 Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< !> Ġ&& Ġ<! EQUAL ITY _ NOT _ AP PL IC ABLE !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< !> Ġ&& Ġ<! S ENSE LESS _ COMP AR IS ON !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 Ġ!= Ġnull Ġ== Ġnull <! > Ġ&& Ġ<! S ENSE LESS _ COMP AR IS ON !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x Ġ!= Ġnull Ġ!== Ġnull <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> a <! UN SAFE _ CALL ! >. <! > B 1 9 <! UN SAFE _ CALL ! >. <! > C 1 9 <! UN SAFE _ CALL ! >. <! > D 1 9 <! UN SAFE _ CALL ! >. <! > x <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 0 Ċ fun Ġcase _ 2 0 ( b : ĠBoolean ) Ġ{ ĊĠĠĠ Ġval Ġa Ġ= Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠB 1 9 Ġ= Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠC 1 9 Ġ= Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠD 1 9 Ġ= Ġ Ġif Ġ( b ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> a . B 1 9 . C 1 9 . D 1 9 Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! >< ! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 0 .` < no Ġname Ġprovided >`. B 1 9 .` < no Ġname Ġprovided >`. C 1 9 .` < no Ġname Ġprovided >`. D 1 9 .` < no Ġname Ġprovided >` ?") !> a . B 1 9 . C 1 9 . D 1 9 <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 1 Ċ fun Ġcase _ 2 1 () Ġ{ ĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> Enum Class With Nullable Property . B . prop _ 1 Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< !> Ġ== Ġ<! USE LESS _ IS _ CHECK !> true Ġ! is ĠBoolean <! > Ġ!= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> Enum Class With Nullable Property . B . prop _ 1 <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 2 Ċ fun Ġcase _ 2 2 ( a : Ġ(() Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> a Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! >< ! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Unit ") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >() <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 3 Ċ fun Ġcase _ 2 3 ( a : Ġ(( Float ) Ġ-> ĠInt ? )? , Ġb : ĠFloat ?) Ġ{ ĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> a Ġ!= Ġ<! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! >< !> Ġ&& Ġ<! EQUAL ITY _ NOT _ AP PL IC ABLE !> b Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< ! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >( <! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ? "), ĠTYPE _ MIS MATCH !> b <! >) <! > ĊĠĠĠĠĠĠĠ Ġif Ġ( x Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ?") !> x <! > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ? "), ĠDEBUG _ INFO _ SM ART CAST !> x <! >. equals ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ? "), ĠDEBUG _ INFO _ SM ART CAST !> x <! >. prop T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ? "), ĠDEBUG _ INFO _ SM ART CAST !> x <! >. prop Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ?") !> x <! >. prop Nullable T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ?") !> x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ? "), ĠDEBUG _ INFO _ SM ART CAST !> x <! >. fun T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ? "), ĠDEBUG _ INFO _ SM ART CAST !> x <! >. fun Any () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ?") !> x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int Ġ& Ġkotlin . Int ?") !> x <! >. fun Nullable Any () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 4 Ċ fun Ġcase _ 2 4 ( a : Ġ(( () Ġ-> ĠUnit ) Ġ-> ĠUnit )? , Ġb : Ġ(() Ġ-> ĠUnit )? ) Ġ= ĊĠĠĠ Ġif Ġ( <! EQUAL ITY _ NOT _ AP PL IC ABLE !> a Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġis ĠBoolean <! >< !> Ġ&& Ġ<! EQUAL ITY _ NOT _ AP PL IC ABLE !> b Ġ!== Ġ<! USE LESS _ IS _ CHECK !> null Ġ! is ĠBoolean <! >< ! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >( <! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? "), ĠTYPE _ MIS MATCH !> b <! >) ĊĠĠĠĠĠĠĠ Ġ<! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >( <! TYPE _ MIS MATCH !> b <! >) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" (() Ġ-> Ġkotlin . Unit )? ") !> b <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ġelse Ġnull Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 5 Ċ fun Ġcase _ 2 5 ( b : ĠBoolean ) Ġ{ ĊĠĠĠ Ġval Ġx Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( b ) Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġy Ġ= Ġif Ġ( b ) Ġx Ġelse Ġnull ĊĊĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> y Ġ!== Ġnull Ġ=== Ġtrue <! >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> y <! >() <! > ĊĊĠĠĠĠĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> z Ġ!= Ġnull Ġ!== Ġfalse <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . equals ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . prop T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . prop Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . prop Nullable T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . prop Nullable Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . fun T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . fun Any () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . fun Nullable T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" case _ 2 5 .` < anonymous > `.` < no Ġname Ġprovided >` ?") !> z <! >< ! UN SAFE _ CALL ! >. <! > a . fun Nullable Any () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 6 Ċ fun Ġcase _ 2 6 ( a : Ġ(( Float ) Ġ-> ĠInt ? )? , Ġb : ĠFloat ?) Ġ{ ĊĠĠĠ Ġif Ġ( a Ġ!= Ġnull Ġ== Ġtrue Ġ== Ġfalse Ġ&& Ġb Ġ!= Ġnull Ġ== Ġtrue Ġ== Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") ! >< ! UN SAFE _ IMP LICIT _ IN VOKE _ CALL !> a <! >( <! DEBUG _ INFO _ CONSTANT , ĠDEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Float ? Ġ& Ġkotlin . Nothing ? "), ĠTYPE _ MIS MATCH !> b <! >) <! > ĊĠĠĠĠĠĠĠ Ġif Ġ( <! DEPRECATED _ IDENTITY _ EQUAL S !> x Ġ!= Ġnull Ġ== Ġtrue Ġ=== Ġfalse <! >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >. prop T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >. prop Nullable T ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >. prop Nullable Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >. fun T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >. fun Nullable T () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Int ?") !> x <! >. fun Nullable Any () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠTEST CASE ĠNUMBER : Ġ 2 7 Ċ fun Ġcase _ 2 7 () Ġ{ ĊĠĠĠ Ġif Ġ( Object . prop _ 1 Ġ== Ġnull Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġtrue Ġ== Ġ<! USE LESS _ IS _ CHECK !> true Ġis ĠBoolean <! >) ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! > ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > equals ( null ) ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. prop T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > prop Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. prop Nullable T ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. prop Nullable Any ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. fun T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >< ! UN SAFE _ CALL ! >. <! > fun Any () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. fun Nullable T () ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ EXPRESSION _ TYPE (" kotlin . Number ?") !> Object . prop _ 1 <! >. fun Nullable Any () ĊĠĠĠ Ġ} Ċ } Ċ