// ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ċ package Ġorg . jetbrains . kotlin . idea . refactor ing . change Signature . us ages Ċ Ċ import Ġcom . intellij . openapi . util . Key Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Reference Ċ import Ġcom . intellij . psi . util . desc endants OfType Ċ import Ġcom . intellij . usage View . Usage Info Ċ import Ġorg . jetbrains . kotlin . idea . code Insight . short en . addTo Short ening Wait Set Ċ import Ġorg . jetbrains . kotlin . idea . core . Short en References Ċ import Ġorg . jetbrains . kotlin . idea . refactor ing . change Signature . Kotlin Change Info Ċ import Ġorg . jetbrains . kotlin . psi . Kt Element Ċ import Ġorg . jetbrains . kotlin . psi . NotNull able Psi Copy able UserData Property Ċ Ċ abstract Ġclass ĠKotlin Usage Info < T Ġ: ĠPsi Element > Ġ: ĠUsage Info Ġ{ ĊĠĠĠ Ġconstructor ( element : ĠT ) Ġ: Ġsuper ( element ) ĊĠĠĠ Ġconstructor ( reference : ĠPsi Reference ) Ġ: Ġsuper ( reference ) ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġget Element () Ġ= Ġsuper . getElement () Ġas ĠT ? ĊĊĠĠĠ Ġopen Ġfun Ġpreprocess Usage () Ġ{} ĊĊĠĠĠ Ġabstract Ġfun Ġprocess Usage ( change Info : ĠKotlin Change Info , Ġelement : ĠT , Ġall Usage s : ĠArray < out ĠUsage Info >): ĠBoolean ĊĊĠĠĠ Ġprotected Ġfun Ġ< T : ĠK t Element > ĠT . as Marked For Short ening (): ĠT Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġis Marked Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠK t Element . flush Elements For Short ening To Wait List ( options : ĠShort en References . Options Ġ= ĠShort en References . Options . ALL _ ENABLED ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( element Ġin Ġdesc endants OfType < Kt Element >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( element . is Marked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . is Marked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . addTo Short ening Wait Set ( options ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠK t Element . is Marked : ĠBoolean Ġby ĠNot Nullable Psi Copy able UserData Property ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= ĠKey . create (" MARKER _ FOR _ SHORT EN ING "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ