/* Ċ Ġ* Ġ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 . refactor ing . pull Up Ċ Ċ import Ġcom . intellij . refactor ing . member Pull Up . Pull Up Data Ċ import Ġcom . intellij . refactor ing . member Pull Up . Pull Up Helper Ċ import Ġcom . intellij . refactor ing . member Pull Up . Pull Up Helper Factory Ċ import Ġorg . jetbrains . kotlin . as Java . named Un wrapped Element Ċ import Ġorg . jetbrains . kotlin . as Java . un wrapped Ċ import Ġorg . jetbrains . kotlin . psi . Jet Class Ċ import Ġorg . jetbrains . kotlin . psi . Jet Class Or Object Ċ import Ġorg . jetbrains . kotlin . psi . Jet Named Declaration Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . start Offset Ċ Ċ public Ġclass ĠKotlin Pull Up Helper Factory Ġ: ĠPull Up Helper Factory Ġ{ ĊĠĠĠ Ġprivate Ġfun ĠPull Up Data . to Kotlin Pull Up Data (): ĠKotlin Pull Up Data ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! getSource Class (). isIn her itor ( getTarget Class (), Ġtrue )) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġsource Class Ġ= Ġget Source Class (). un wrapped Ġas ? ĠJet Class Or Object Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġtarget Class Ġ= Ġget Target Class (). un wrapped Ġas ? ĠJet Class Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġmembers To Move Ġ= Ġget Members To Move () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . named Un wrapped Element Ġas ? ĠJet Named Declaration Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter NotNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sortBy Ġ{ Ġit . start Offset Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠKotlin Pull Up Data ( source Class , Ġtarget Class , Ġmembers To Move ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Pull Up Helper ( data : ĠPull Up Data ): ĠPull Up Helper < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkotlin Pull Up Data Ġ= Ġdata . to Kotlin Pull Up Data () Ġ?: Ġreturn ĠEmpty Pull Up Helper ĊĠĠĠĠĠĠĠ Ġreturn ĠKotlin Pull Up Helper ( data , Ġkotlin Pull Up Data ) ĊĠĠĠ Ġ} Ċ } Ċ