// Ġ! DIAG NO ST ICS : Ġ- UNUSED _ PARAMETER Ġ- UNUSED _ VARIABLE Ċ // Ġ! LANGUAGE : Ġ- Type En hancement Impro vements In Strict Mode Ċ // ĠFULL _ JDK Ċ Ċ // ĠFILE : ĠMap Like . java Ċ import Ġjava . util . Map ; Ċ Ċ public Ġclass ĠMap Like < @ org . jetbrains . annotations . NotNull ĠK , ĠV > Ġ{ ĊĠĠĠ Ġvoid Ġput All ( Map < K , ĠV > Ġmap ); Ċ } Ċ Ċ // ĠFILE : ĠList Like . java Ċ import Ġjava . util . Collection ; Ċ Ċ public Ġclass ĠList Like < K Ġextends ĠCollection < @ org . jetbrains . annotations . NotNull ĠObject >> Ġ{} Ċ Ċ // ĠFILE : Ġmain . kt Ċ fun Ġtest 0 ( map Ġ: ĠMap Like << ! UPPER _ BOUND _ VI OL ATED _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> Int ? <! >, ĠInt >) Ġ{} Ċ fun Ġ< K > Ġtest 1 1 ( map Ġ: ĠMap Like << ! UPPER _ BOUND _ VI OL ATED _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> K <! >, ĠK >) Ġ{} Ċ fun Ġ< K > Ġtest 1 2 ( map Ġ: ĠMap Like << ! UPPER _ BOUND _ VI OL ATED _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> K ? <! >, ĠK >) Ġ{} Ċ fun Ġ< K Ġ: ĠAny > Ġtest 1 3 ( map Ġ: ĠMap Like < K , ĠK >) Ġ{} Ċ fun Ġ< K Ġ: ĠAny > Ġtest 1 4 ( map Ġ: ĠMap Like << ! UPPER _ BOUND _ VI OL ATED _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> K ? <! >, ĠK >) Ġ{} Ċ Ċ class ĠFoo < K > Ċ Ċ type alias ĠA < A > Ġ= ĠMap Like < A , ĠInt > Ċ type alias ĠA 2 < B > Ġ= ĠFoo < Map Like < B , ĠInt >> Ċ type alias ĠA 3 < C > Ġ= ĠList Like < List < C >> Ċ Ċ fun Ġmain 1 ( x : ĠA << ! UPPER _ BOUND _ VI OL ATED _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> Int ? <! >>) Ġ{} Ċ fun Ġmain 2 ( x : ĠA 2 << ! UPPER _ BOUND _ VI OL ATED _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> Int ? <! >>) Ġ{} Ċ fun Ġmain 3 ( x : Ġ<! UPPER _ BOUND _ VI OL ATED _ IN _ TYPE ALIAS _ EXP AN SION _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> A 3 < Int ? >< ! >) Ġ{} Ċ fun Ġmain 3 () Ġ{ ĊĠĠĠ Ġval Ġx Ġ= Ġ<! UPPER _ BOUND _ VI OL ATED _ IN _ TYPE ALIAS _ EXP AN SION _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> A 3 < Int ?> () <! > Ġ// ĠTODO : Ġsupport Ġreporting Ġerrors Ġon Ġtype alias Ġconstructor Ġcalls ĊĠĠĠ Ġval Ġx 2 Ġ= Ġ<! UPPER _ BOUND _ VI OL ATED _ IN _ TYPE ALIAS _ EXP AN SION _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> A < Int ?> () <! > Ġ// ĠTODO : Ġsupport Ġreporting Ġerrors Ġon Ġtype alias Ġconstructor Ġcalls ĊĠĠĠ Ġval Ġy : Ġ<! UPPER _ BOUND _ VI OL ATED _ IN _ TYPE ALIAS _ EXP AN SION _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> A 3 < Int ? >< !> Ġ= Ġ<! UPPER _ BOUND _ VI OL ATED _ IN _ TYPE ALIAS _ EXP AN SION _ BASE D _ ON _ JAVA _ AN NOT ATIONS !> A 3 < Int ?> () <! > Ċ } Ċ