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 Ġorg . jetbrains . kotlin . com . intellij . psi . Psi Element Ċ import Ġorg . jetbrains . kotlin . lexer . Kt Tokens Ċ import Ġorg . jetbrains . kotlin . psi . Kt Element Ċ import Ġorg . jetbrains . kotlin . psi . Kt Simple Name String Template Entry Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . all Children Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . can Place After Simple Name Entry Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . get Strict Parent OfType Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . is Identifier Ċ Ċ /** Ċ Ġ* ĠThis Ġrule Ġreports Ġunnecessary Ġback ticks . Ċ Ġ* Ċ Ġ* Ġ< non comp liant > Ċ Ġ* Ġclass Ġ` HelloWorld ` Ċ Ġ* Ġ</ non comp liant > Ċ Ġ* Ċ Ġ* Ġ< comp liant > Ċ Ġ* Ġclass ĠHello World Ċ Ġ* Ġ</ comp liant > Ċ Ġ*/ Ċ class ĠUn necessary Back ticks ( config : ĠConfig Ġ= ĠConfig . empty ) Ġ: ĠRule ( config ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġissue : ĠIssue Ġ= ĠIssue ( ĊĠĠĠĠĠĠĠ Ġjava Class . simple Name , ĊĠĠĠĠĠĠĠ ĠSeverity . Style , ĊĠĠĠĠĠĠĠ Ġ" Back ticks Ġare Ġunnecessary .", ĊĠĠĠĠĠĠĠ ĠDeb t . FI VE _ MIN S ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Kt Element ( element : ĠK t Element ) Ġ{ ĊĠĠĠĠĠĠĠ Ġelement . all Children ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . node . elementType Ġ== ĠK t Tokens . IDENTIFIER Ġ&& Ġit . has Un necessary Back ticks () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġreport ( Code S mell ( issue , ĠEntity . from ( it ), Ġ" Back ticks Ġare Ġunnecessary .")) Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . visit Kt Element ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" Return Count ") ĊĠĠĠ Ġprivate Ġfun ĠPsi Element . has Un necessary Back ticks (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġthis . text ĊĠĠĠĠĠĠĠ Ġif Ġ(! text . startsWith (" ` ") Ġ|| Ġ! text . endsWith (" ` ")) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġun quoted Ġ= Ġtext . drop ( 1 ). drop Last ( 1 ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! un quoted . is Identifier () Ġ|| Ġun quoted . is Keyword ()) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġstring Template Entry Ġ= Ġget Strict Parent OfType < Kt Simple Name String Template Entry >() ĊĠĠĠĠĠĠĠ Ġreturn Ġstring Template Entry Ġ== Ġnull Ġ|| Ġcan Place After Simple Name Entry ( string Template Entry . next Sibling ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠString . is Keyword () Ġ= Ġthis Ġin ĠKEY WORDS Ġ|| Ġthis . all Ġ{ Ġit Ġ== Ġ'_' Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠKEY WORDS Ġ= ĠK t Tokens . KEYWORD S . types . map Ġ{ Ġit . toString () Ġ} ĊĠĠĠ Ġ} Ċ } Ċ