// Ġ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 . quick fix Ċ Ċ import Ġcom . intellij . code Insight . int ention . Int ention Action Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . Psi File Ċ import Ġorg . jetbrains . kotlin . diagnostics . Diagnostic Ċ import Ġorg . jetbrains . kotlin . diagnostics . Errors Ċ import Ġorg . jetbrains . kotlin . idea . Kotlin Bundle Ċ import Ġorg . jetbrains . kotlin . lexer . Kt Tokens Ċ import Ġorg . jetbrains . kotlin . psi . Kt Named Function Ċ import Ġorg . jetbrains . kotlin . psi . Kt Type Parameter Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . get Strict Parent OfType Ċ Ċ class ĠAdd Re ified To Type Parameter Of Function Fix ( ĊĠĠĠ Ġtype Parameter : ĠK t Type Parameter , ĊĠĠĠ Ġfunction : ĠK t Named Function Ċ ) Ġ: ĠAdd Modifier Fix ( type Parameter , ĠK t Tokens . RE IFI ED _ KEYWORD ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġinline Fix Ġ= ĠAdd Inline To Function With Re ified Fix ( function ) ĊĠĠĠ Ġprivate Ġval Ġelement Name Ġ= Ġget ElementName ( function ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetText () Ġ= ĊĠĠĠĠĠĠĠ Ġelement ?. let Ġ{ ĠKotlin Bundle . message (" fix . make . type . parameter . re ified ", Ġget ElementName ( it ), Ġelement Name ) Ġ} Ġ?: Ġ"" ĊĊĠĠĠ Ġoverride Ġfun Ġinvoke Impl ( project : ĠProject , Ġeditor : ĠEditor ?, Ġfile : ĠPsi File ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . invoke Impl ( project , Ġeditor , Ġfile ) ĊĠĠĠĠĠĠĠ Ġinline Fix . invoke ( project , Ġeditor , Ġfile ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject ĠFactory Ġ: ĠKotlin Single Int ention Action Factory () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Action ( diagnostic : ĠDiagnostic ): ĠInt ention Action ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelement Ġ= ĠErrors . TYPE _ PARAMETER _ AS _ RE IFI ED . cast ( diagnostic ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfunction Ġ= Ġelement . psi Element . get Strict Parent OfType < Kt Named Function >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparameter Ġ= Ġfunction ?. type Parameter List ?. parameters ?. get OrNull ( element . a . index ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAdd Re ified To Type Parameter Of Function Fix ( parameter , Ġfunction ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }