package Ġio . gitlab . art urb os ch . de te kt . core . suppress ors Ċ Ċ import Ġio . github . de te kt . tool ing . api . Function Matcher Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Config Aware Ċ import Ġorg . jetbrains . kotlin . psi . Kt Element Ċ import Ġorg . jetbrains . kotlin . psi . Kt Named Function Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . get Strict Parent OfType Ċ import Ġorg . jetbrains . kotlin . resolve . Binding Context Ċ Ċ internal Ġfun Ġfunction Suppress or Factory ( rule : ĠConfig Aware , Ġbinding Context : ĠBinding Context ): ĠSup press or ? Ġ{ ĊĠĠĠ Ġval Ġfunction Matchers Ġ= Ġrule . value OrDefault (" ignore Function ", Ġempty List < String >()) ĊĠĠĠĠĠĠĠ Ġ. map ( Function Matcher :: from Function Signature ) ĊĠĠĠ Ġreturn Ġif Ġ( function Matchers . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠSup press or Ġ{ Ġfinding Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġfinding . entity . kt Element ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ!= Ġnull Ġ&& Ġfunction Suppress or ( element , Ġbinding Context , Ġfunction Matchers ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġfunction Suppress or ( ĊĠĠĠ Ġelement : ĠK t Element , ĊĠĠĠ Ġbinding Context : ĠBinding Context , ĊĠĠĠ Ġfunction Matchers : ĠList < Function Matcher >, Ċ ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġelement . isIn Function Named ( binding Context , Ġfunction Matchers ) Ċ } Ċ Ċ private Ġfun ĠK t Element . isIn Function Named ( ĊĠĠĠ Ġbinding Context : ĠBinding Context , ĊĠĠĠ Ġfunction Matchers : ĠList < Function Matcher >, Ċ ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( this Ġis ĠK t Named Function Ġ&& Ġfunction Matchers . any Ġ{ Ġit . match ( this , Ġbinding Context ) Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġget Strict Parent OfType < Kt Named Function >() ?. isIn Function Named ( binding Context , Ġfunction Matchers ) Ġ?: Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ