package Ġio . gitlab . art urb os ch . de te kt . rules . bugs Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . rules . Kotlin Core Environment Test Ċ import Ġio . gitlab . art urb os ch . de te kt . test . assertThat Ċ import Ġio . gitlab . art urb os ch . de te kt . test . compile And Lint WithContext Ċ import Ġorg . jetbrains . kotlin . cli . jvm . compiler . Kotlin Core Environment Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ @ Kotlin Core Environment Test Ċ class ĠUn necessary NotNull Operator Spec ( private Ġval Ġenv : ĠKotlin Core Environment ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsubject Ġ= ĠUn necessary NotNull Operator () ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass Ġ` check Ġunnecessary Ġnot Ġnull Ġoperators ` Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` reports Ġa Ġsimple Ġnot Ġnull Ġoperator Ġusage `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġa !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Text Locations ( 1 8 Ġto Ġ 2 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` reports Ġa Ġchained Ġnot Ġnull Ġoperator Ġusage `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġa !!. plus ( 4 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Text Locations ( 1 8 Ġto Ġ 2 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` reports Ġmultiple Ġchained Ġnot Ġnull Ġoperator Ġusage `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġa !!. plus ( 4 2 ) !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Size ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). has Text Locations ( 1 8 Ġto Ġ 2 1 , Ġ 1 8 Ġto Ġ 3 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass Ġ` check Ġvalid Ġnot Ġnull Ġoperators Ġusage ` Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` does Ġnot Ġreport Ġa Ġsimple Ġnot Ġnull Ġoperator Ġusage Ġon Ġnullable Ġtype `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ: ĠInt ? Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġa !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= Ġsubject . compile And Lint WithContext ( env , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( find ings ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ