/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 5 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . idea . intent ions Ċ Ċ import Ġcom . intellij . code Insight . int ention . Low Priority Action Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . psi . Psi Document Manager Ċ import Ġcom . intellij . refactor ing . rename . inplace . Variable In place Rename Handler Ċ import Ġorg . jetbrains . kotlin . idea . cache s . resolve . analyze Ċ import Ġorg . jetbrains . kotlin . idea . references . Kt Reference Ċ import Ġorg . jetbrains . kotlin . idea . references . main Reference Ċ import Ġorg . jetbrains . kotlin . psi .* Ċ import Ġorg . jetbrains . kotlin . resolve . Descriptor To Source Utils Ċ Ċ public Ġclass ĠReplace It With Explicit Function Literal Param Int ention () Ġ: ĠSelf Target ing Offset In dependent Int ention < Kt Name Reference Expression > Ġ( ĊĠĠĠĠĠĠĠ Ġjava Class (), Ġ" Replace Ġ' it ' Ġwith Ġexplicit Ġparameter " Ċ ), ĠLow Priority Action Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġis Applicable To ( element : ĠK t Name Reference Expression ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġis Auto Created It Usage ( element ) ĊĊĠĠĠ Ġoverride Ġfun Ġapply To ( element : ĠK t Name Reference Expression , Ġeditor : ĠEditor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġelement . main Reference . resolve To Descriptors ( element . analyze ()). single () ĊĊĠĠĠĠĠĠĠ Ġval Ġfunction Literal Ġ= ĠDescriptor To Source Utils . descriptor To Declaration ( target . get Containing Declaration () !! ) Ġas ĠK t Function Literal ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Expr Ġ= ĠK t Psi Factory ( element ). create Expression ("{ Ġit Ġ-> Ġ} ") Ġas ĠK t Function Literal Expression ĊĠĠĠĠĠĠĠ Ġfunction Literal . add Range After ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Expr . get Function Literal (). getValue Parameter List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Expr . get Function Literal (). get Arrow () !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfunction Literal . get L Brace ()) ĊĠĠĠĠĠĠĠ ĠPsi Document Manager . getInstance ( element . getProject ()). do Post p oned Operations And Un block Document ( editor . getDocument ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġparam To Rename Ġ= Ġfunction Literal . getValue Parameters (). single () ĊĠĠĠĠĠĠĠ Ġeditor . getC aret Model (). moveTo Offset ( element . getText Offset ()) ĊĠĠĠĠĠĠĠ ĠVariable In place Rename Handler (). do Rename ( param To Rename , Ġeditor , Ġnull ) ĊĠĠĠ Ġ} Ċ } Ċ