package Ġio . gitlab . art urb os ch . de te kt . rules . style Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Code S mell Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Config Ċ import Ġio . gitlab . art urb os ch . de te kt . api . De bt Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Entity Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Issue Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Rule Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Severity Ċ import Ġio . gitlab . art urb os ch . de te kt . rules . has Comment Inside Ċ import Ġorg . jetbrains . kotlin . psi . Kt Block Expression Ċ import Ġorg . jetbrains . kotlin . psi . Kt When Expression Ċ Ċ /** Ċ Ġ* ĠThis Ġrule Ġreports Ġunnecessary Ġbr aces Ġin Ġwhen Ġexpressions . ĠThese Ġoptional Ġbr aces Ġshould Ġbe Ġremoved . Ċ Ġ* Ċ Ġ* Ġ< non comp liant > Ċ Ġ* Ġval Ġi Ġ= Ġ 1 Ċ Ġ* Ġwhen Ġ( i ) Ġ{ Ċ Ġ* ĠĠĠĠĠ 1 Ġ-> Ġ{ Ġprintln (" one ") Ġ} Ġ// Ġunnecessary Ġcur ly Ġbr aces Ġsince Ġthere Ġis Ġonly Ġone Ġstatement Ċ Ġ* ĠĠĠĠ Ġelse Ġ-> Ġprintln (" else ") Ċ Ġ* Ġ} Ċ Ġ* Ġ</ non comp liant > Ċ Ġ* Ċ Ġ* Ġ< comp liant > Ċ Ġ* Ġval Ġi Ġ= Ġ 1 Ċ Ġ* Ġwhen Ġ( i ) Ġ{ Ċ Ġ* ĠĠĠĠĠ 1 Ġ-> Ġprintln (" one ") Ċ Ġ* ĠĠĠĠ Ġelse Ġ-> Ġprintln (" else ") Ċ Ġ* Ġ} Ċ Ġ* Ġ</ comp liant > Ċ Ġ*/ Ċ class ĠOptional When Br aces ( config : ĠConfig Ġ= ĠConfig . empty ) Ġ: ĠRule ( config ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġissue : ĠIssue Ġ= ĠIssue ( java Class . simple Name , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Style , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Optional Ġbr aces Ġin Ġwhen Ġexpression ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDeb t . FI VE _ MIN S ) ĊĊĠĠĠ Ġoverride Ġfun Ġvisit When Expression ( expression : ĠK t When Expression ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( entry Ġin Ġexpression . entries ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Expression Ġ= Ġentry . expression Ġas ? ĠK t Block Expression ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( hasOne Statement ( block Expression ) Ġ&& Ġhas Optional Brace ( block Expression )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport ( Code S mell ( issue , ĠEntity . from ( entry ), Ġissue . description )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhas One Statement ( block Expression : ĠK t Block Expression ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Expression ?. statements ?. size Ġ== Ġ 1 Ġ&& Ġ! block Expression . has Comment Inside () ĊĊĠĠĠ Ġprivate Ġfun Ġhas Optional Brace ( block Expression : ĠK t Block Expression ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Expression Ġ!= Ġnull Ġ&& Ġblock Expression . l Brace Ġ!= Ġnull Ġ&& Ġblock Expression . r Brace Ġ!= Ġnull Ċ } Ċ