package Ġcom . yo av st . j eb . plugins . const arg Ċ Ċ import Ġcom . pn f software . j eb . core .* Ċ import Ġcom . pn f software . j eb . core . units . code . android . ID ex Unit Ċ import Ġcom . pn f software . j eb . core . units . code . android . dex . ID ex Method Ċ import Ġcom . yo av st . j eb . bridge . UI Bridge Ċ import Ġcom . yo av st . j eb . plugins . J EB _ VERSION Ċ import Ġcom . yo av st . j eb . plugins . PLUGIN _ VERSION Ċ import Ġcom . yo av st . j eb . utils . Basic En gin es Plugin Ċ import Ġcom . yo av st . j eb . utils . de compiler Ċ import Ġcom . yo av st . j eb . utils . display File Open Selector Ċ import Ġcom . yo av st . j eb . utils . original Signature Ċ import Ġcom . yo av st . j eb . utils . ren aming . Rename Engine Ċ import Ġjava . io . File Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ class ĠConst Arg Ren aming Plugin Ġ: ĊĠĠĠ ĠBasic En gin es Plugin ( ĊĠĠĠĠĠĠĠ Ġsupports Class Filter Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdefault For Scope On This Class Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġdefault For Scope On ThisFunction Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġusing Selected Method Ġ= Ġtrue ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġconst Argument Index Ġby ĠDeleg ates . notNull < Int >() ĊĠĠĠ Ġprivate Ġvar Ġrenamed Argument Index Ġ= Ġ- 1 ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrename Method : ĠID ex Method ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre nam er : Ġ( String ) Ġ-> ĠRename Result ĊĊĠĠĠ Ġoverride Ġfun Ġget Plugin Information (): ĠI Plugin Information Ġ= ĠPlugin Information ( ĊĠĠĠĠĠĠĠ Ġ" Const Ġarg Ġrenaming Ġplugin ", ĊĠĠĠĠĠĠĠ Ġ" Fire Ġthe Ġplugin Ġto Ġchange Ġnames Ġusing Ġinformation Ġfrom Ġa Ġconstant Ġstring Ġargument Ġto Ġfunction ", ĊĠĠĠĠĠĠĠ Ġ" Yo av ĠS tern berg ", ĊĠĠĠĠĠĠĠ ĠP LU GIN _ VERSION , ĊĠĠĠĠĠĠĠ ĠJ EB _ VERSION , ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Execution Option Definitions (): ĠList < IO ption Definition > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= Ġsuper . get Execution Option Definitions (). to Mutable List () ĊĠĠĠĠĠĠĠ Ġoptions Ġ+= ĠList Option Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTarget Rename Tag , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRename Target . Class . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" What Ġdo Ġwe Ġwant Ġto Ġrenamed Ġbased Ġon Ġthe Ġargument ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ* Rename Target . values (). map ( Rename Target :: name ). to Typed Array () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġoptions Ġ+= ĠOption Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTarget Const Arg Index , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" What Ġis Ġthe Ġindex Ġof Ġthe Ġconst Ġargument Ġthat Ġwill Ġbe Ġused Ġas Ġname ?" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġoptions Ġ+= ĠOption Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTarget Argument ToBe Rename d Position , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Optional : ĠIf Ġrenaming Ġan Ġargument , Ġwhat Ġis Ġits Ġindex " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġoptions ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Options ( execution Options : ĠMap < String , ĠString >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . process Options ( execution Options ) ĊĠĠĠĠĠĠĠ Ġval Ġrenamed Method Temp Ġ= ĠU IB ridge . focused Method ĊĠĠĠĠĠĠĠ Ġif Ġ( re named Method Temp Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" A Ġmethod Ġmust Ġbe Ġfocus Ġfor Ġthis Ġplugin Ġto Ġwork ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrename Method Ġ= Ġrenamed Method Temp ĊĊĠĠĠĠĠĠĠ Ġconst Argument Index Ġ= Ġexecution Options [ Target Const Arg Index ]?. toInt OrNull () Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Index Ġof Ġthe Ġconst Ġargument Ġmust Ġbe Ġa Ġnumber ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( const Argument Index Ġ< Ġ 0 Ġ|| Ġrename Method . parameter Types . size Ġ<= Ġconst Argument Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" The Ġconst Ġargument Ġindex Ġis Ġout Ġof Ġrange : Ġ[ 0 , Ġ${ rename Method . parameter Types . size }) ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġparam Type Ġ= Ġrename Method . parameter Types [ const Argument Index ]. original Signature ĊĠĠĠĠĠĠĠ Ġif Ġ( param Type Ġ!= Ġ" Ljava / lang / CharSequence ;" Ġ&& Ġparam Type Ġ!= Ġ" Ljava / lang / String ; ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" The Ġargument Ġtype Ġis Ġnot Ġa Ġstring Ġtype . ĠReceived : Ġ$ param Type ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtarget Rename Str Ġ= Ġexecution Options [ Target Rename Tag ] Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġif Ġ( target Rename Str . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Target Ġfor Ġrenaming Ġis Ġnot Ġprovided ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġsafe Ġbecause Ġit Ġcomes Ġfrom Ġlist ĊĠĠĠĠĠĠĠ Ġre nam er Ġ= Ġwhen Ġ( Rename Target . valueOf ( target Rename Str )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRename Target . Custom Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġexecution Options [ Target Argument ToBe Rename d Position ]?. toInt OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tmp Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrenamed Argument Index Ġ= Ġtmp ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscript Path Ġ= Ġdisplay File Open Selector (" Ren aming Ġscript ") Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" No Ġscript Ġselected ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript Ren amer ( File ( script Path ). read Text ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRename Target . Class Ġ-> Ġclass Ren amer ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRename Target . Method Ġ-> Ġmethod Ren amer ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRename Target . Argument Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrenamed Argument Index Ġ= Ġexecution Options [ Target Argument ToBe Rename d Position ]?. toInt OrNull () Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Index Ġof Ġthe Ġrenamed Ġargument Ġbe Ġa Ġnumber ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( const Argument Index Ġ< Ġ 0 Ġ|| Ġrename Method . parameter Types . size Ġ<= Ġconst Argument Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" The Ġrenamed Ġargument Ġindex Ġis Ġout Ġof Ġrange : Ġ[ 0 , Ġ${ rename Method . parameter Types . size }) ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargument Ren amer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRename Target . Assign ee Ġ-> Ġassign ee Ren amer ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Unit ( unit : ĠID ex Unit , Ġrename Engine : ĠRename Engine ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmass Ren amer Ġ= ĠConst Arg Mass Ren aming ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrename Method . get Signature ( false ) Ġto ĠExtended Ren amer ( const Argument Index , Ġre nam er , Ġrenamed Argument Index ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġis Operating Only On This Class , Ġclass Filter ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Operating Only On This Method ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( UI Bridge . current Method Ġ!= Ġnull Ġ&& ĠU IB ridge . current Class Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġyou Ġcannot Ġsee Ġthe Ġsources Ġof Ġa Ġtype Ġwithout Ġimplementing Ġclass ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmass Ren amer . process Method ( UI Bridge . current Method !! , Ġunit , Ġunit . de compiler , Ġrename Engine ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmass Ren amer . process Unit ( unit , Ġrename Engine ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmass Ren amer . propagate ( unit , Ġrename Engine ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTarget Rename Tag Ġ= Ġ" Target Ġrename " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTarget Const Arg Index Ġ= Ġ" Const Ġarg Ġindex " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTarget Argument ToBe Rename d Position Ġ= Ġ" re named Ġarg Ġindex " ĊĠĠĠ Ġ} Ċ }