package Ġcom . bill kal in . plugin Ċ Ċ import Ġjav assist . Ct Class Ċ import Ġjav assist . Ct Field Ċ import Ġjav assist . Ct Method Ċ import Ġjav assist . Modifier Ċ import Ġjav assist . expr . Cast Ċ import Ġjav assist . expr . MethodCall Ċ Ċ object ĠQuick Fix Utils Ġ{ ĊĊĠĠĠ Ġfun Ġparam Signature String ( ct Method : ĠC t Method ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġstring Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġif Ġ(! ct Method . parameter Types . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġct Method . parameter Types . forEach Indexed Ġ{ Ġindex , Ġct Class Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( ct Class . name ). append (" Ġvar ${ index } "). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( string . isNotEmpty () Ġ&& Ġstring . last () Ġ== Ġ', ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Ġ= Ġstring . delete Char At ( string . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġparam Value String ( ct Method : ĠC t Method ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġstring Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġif Ġ(! ct Method . parameter Types . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġct Method . parameter Types . forEach Indexed Ġ{ Ġindex , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" Ġvar ${ index } "). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( string . isNotEmpty () Ġ&& Ġstring . last () Ġ== Ġ', ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Ġ= Ġstring . delete Char At ( string . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Method Modifier String ( ct Method : ĠC t Method ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Modifier . is Static ( ct Method . modifiers )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" static " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget FieldValue String ( ct Field : ĠC t Field , Ġpatch ClassName : ĠString , Ġmodify ClassName : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Static Ġ= ĠModifier . is Static ( ct Field . modifiers ) ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder (). append ("{ ") ĊĠĠĠĠĠĠĠ Ġif Ġ( is Static ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Modifier . is Public ( ct Field . modifiers )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is R file ( ct Field . decl aring Class . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append ( ct Field . constant Value ). append ("; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append ("\ $ proceed (\ $\ $ ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ct Field . decl aring Class . name Ġ== Ġpatch ClassName ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append (" (\ $ r )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Constants . REF LECT _ CLASS _ NAME ). append (". get Static FieldValue (" ). append ("\" ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( ct Field . name ). append ("\ "" ). append ("," ). append ("$ modify ClassName . class "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append (" (\ $ r )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Constants . REF LECT _ CLASS _ NAME ). append (". get Static FieldValue (" ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("\ "" ). append ( ct Field . name ). append ("\ "" ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("${ ct Field . decl aring Class . name }. class "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" java . lang . Object Ġinstance ; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" if Ġ(\ $ 0 Ġinstance Of Ġ${ patch ClassName }) Ġ{ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" instance Ġ= Ġ( (${ patch ClassName }) \$ 0 ). ${ Constants . PATCH _ ORIGIN _ CLASS _ FIELD _ NAME }; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" else Ġ{ Ġinstance Ġ= Ġ\$ 0 ; Ġ} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append (" (\ $ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (". getField Value (" ). append ("\" ${ ct Field . name }\ "," ). append (" instance , ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("${ ct Field . decl aring Class . name }. class ); ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstring . append (" }"); ĊĠĠĠĠĠĠĠ ĠQuick Fix Transformer . s Logger . quiet (" getField Value String : Ġstring Ġ= Ġ${ string . toString () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset FieldValue String ( ct Field : ĠC t Field , Ġpatch ClassName : ĠString , Ġmodify ClassName : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder (). append ("{ ") ĊĠĠĠĠĠĠĠ Ġval Ġis Static Ġ= ĠModifier . is Static ( ct Field . modifiers ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Static ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Modifier . is Public ( ct Field . modifiers )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append ("\ $ proceed (\ $\ $ ); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ct Field . decl aring Class . name Ġ== Ġpatch ClassName ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append (" (\ $ r )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Constants . REF LECT _ CLASS _ NAME ). append (". set Static FieldValue (" ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("\ "" ). append ( ct Field . name ). append ("\ "" ). append ("," ). append ("${ modify ClassName }. class ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append (" (\ $ r )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Constants . REF LECT _ CLASS _ NAME ). append (". set Static FieldValue (" ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("\ "" ). append ( ct Field . name ). append ("\ "" ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("${ ct Field . decl aring Class . name }. class ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" java . lang . Object Ġinstance ; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" if (\ $ 0 Ġinstance Of Ġ${ patch ClassName }) Ġ{ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" instance "). append (" =") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("( ($ patch ClassName )\ $ 0 ). ${ Constants . PATCH _ ORIGIN _ CLASS _ FIELD _ NAME }; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" else Ġ{ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" instance "). append (" =" ). append ("\ $ 0 ; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append (" (\ $ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (". set FieldValue (" ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ "" ). append ( ct Field . name ). append ("\ "" ). append ("," ). append ("\ $ 1 , "). append (" instance , ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("${ ct Field . decl aring Class . name }. class ); ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ ĠQuick Fix Transformer . s Logger . quiet (" set FieldValue String : Ġstring Ġ= Ġ${ string . toString () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Cast String ( cast : ĠCast , Ġct Class : ĠC t Class ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder (). append ("{ ") ĊĠĠĠĠĠĠĠ Ġstring . append (" if (\ $ 1 Ġ== Ġthis ) Ġ{ ") ĊĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append ("( (${ ct Class . name }) \$ 1 ). ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Constants . PATCH _ ORIGIN _ CLASS _ FIELD _ NAME ). append ("; ") ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ Ġstring . append (" else Ġ{ ") ĊĠĠĠĠĠĠĠ Ġstring . append ("\ $_ "). append (" =" ). append (" (\ $ r )\ $ 1 ; ") ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ ĠQuick Fix Transformer . s Logger . quiet (" get Cast String : Ġstring Ġ= Ġ${ string . toString () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis R file ( name : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( name . lastIndexOf (' R ') Ġ< Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn ĠConstants . R _ File . contains ( name . substring ( name . indexOf (' R '))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Inner Class String ( ĊĠĠĠĠĠĠĠ Ġsignature : ĠString , ĊĠĠĠĠĠĠĠ Ġnew Class : ĠString , ĊĠĠĠĠĠĠĠ Ġis Static : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġmethod Class : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder (). append ("{ ") ĊĠĠĠĠĠĠĠ Ġval Ġparam String Ġ= Ġget Params Signature String ( signature , Ġnew Class ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Static ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param String . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (". reflect Construct (" ). append ( method Class ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $ args , "). append (" new ĠClass []{ "). append ( param String ). append (" }); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (". reflect Construct (" ). append ( method Class ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $ args , "). append (" null }); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param String . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (". reflect Construct (" ). append ( method Class ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" java . lang . Object [] Ġparams = Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Constants . PATCH _ GET _ REAL _ METHOD _ NAME ). append (" (\ $ args ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $ args , "). append (" new ĠClass []{ "). append ( param String ). append (" }); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (". reflect Construct (" ). append ( method Class ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $ args , "). append (" null }); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ ĠQuick Fix Transformer . s Logger . quiet (" get Inner Class String : Ġstring Ġ= Ġ${ string . toString () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Inner Class String ( ĊĠĠĠĠĠĠĠ Ġsignature : ĠString , ĊĠĠĠĠĠĠĠ Ġnew Class : ĠString , ĊĠĠĠĠĠĠĠ Ġis Static : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġmethod Class : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( signature . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" {\ $_ =( \$ r )\ $ proceed (\ $\ $ ); }; " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder (). append ("{ ") ĊĠĠĠĠĠĠĠ Ġval Ġparam String Ġ= Ġget Params Signature String ( signature , Ġnew Class ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Static ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param String . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". reflect Construct (" ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("\ "" ). append ( method Class ). append ("\ "" ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $ args , "). append (" new ĠClass []{ "). append ( param String ). append (" }); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". reflect Construct (" ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("\ "" ). append ( method Class ). append ("\ "" ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $ args , "). append (" null ); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param String . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" java . lang . Object [] Ġparams = Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Constants . PATCH _ GET _ REAL _ METHOD _ NAME ). append (" (\ $ args ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". reflect Construct (" ). append ("\ "" ). append ( method Class ). append ("\ "" ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" params , "). append (" new ĠClass []{ "). append ( param String ). append (" }); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (". reflect Construct (" ). append ("\ "" ). append ( method Class ). append ("\ "" ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $ args , "). append (" null ); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ ĠQuick Fix Transformer . s Logger . quiet (" create Inner Class String : Ġstring Ġ= Ġ${ string . toString () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Params Signature String ( signature : ĠString , Ġpatch Class : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( signature . isNull OrEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġvar ĠisArray Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġend Ġ= Ġsignature . indexOf (' )') ĊĠĠĠĠĠĠĠ Ġwhile Ġ( index Ġ< Ġend ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( signature [ index ] Ġ== ĠConstants . TYPE _ OBJECT Ġ&& Ġsignature . indexOf ( Constants . TYPE _ END _ PACKAGE ) Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsignature . substring ( index Ġ+ Ġ 1 , Ġsignature . indexOf ( Constants . TYPE _ END _ PACKAGE )). replace ('/', Ġ'.') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( str Ġ== Ġpatch Class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( str )// TODO Ġ è¿ĻéĩĮ éľĢè¦ģ æī¾åĪ° å¯¹åºĶçļĦ modify Ġclass Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( str ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isArray ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisArray Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" [] ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġsignature . indexOf ( Constants . TYPE _ END _ PACKAGE , Ġindex ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (". class , ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Constants . TYPE _ PR IM ATE . contains ( signature [ index ])) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( signature [ index ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' Z ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" boolean ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' C ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" char ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' B ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" byte ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' S ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" short ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' I ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" int ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' J ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" long ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' F ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" float ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' D ' Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" double ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isArray ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisArray Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" [] ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (". class ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( signature [ index ] Ġ== ĠConstants . TYPE _ ARRAY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisArray Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( string . isNotEmpty () Ġ&& Ġstring . last () Ġ== Ġ', ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . delete Char At ( string . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget MethodCall String ( method Call : ĠMethod Call , ĠisIn Static Method : ĠBoolean , Ġnew Class : ĠC t Class ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder (). append ("{ ") ĊĠĠĠĠĠĠĠ Ġval Ġparam Class String Ġ= Ġget Param Class Params String ( method Call . method . parameter Types ) ĊĠĠĠĠĠĠĠ Ġstring . append ( method Call . method . decl aring Class . name ). append (" Ġinstance ; ") ĊĠĠĠĠĠĠĠ Ġval Ġcall Is Static Ġ= ĠModifier . is Static ( method Call . method . modifiers ) ĊĠĠĠĠĠĠĠ Ġif Ġ( call Is Static ) Ġ{// éĿĻæĢģ æĸ¹æ³ķ è°ĥçĶ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isIn Static Method ) Ġ{// åľ¨ éĿĻæĢģ æĸ¹æ³ķ éĩĮ è°ĥçĶ¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Modifier . is Public ( method Call . method . modifiers )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =" ). append ("\ $ proceed (\ $\ $ ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param Class String . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Reflect Utils . invoke Static Method ( methodName , Ġclass , Ġinstance , Ġnull , Ġargs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =" ). append (" (\ $ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Static Method (" ). append ("\ "" ). append ( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method ))). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" null , "). append ("\ $ args "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Reflect Utils . invoke Static Method ( methodName , Ġclass , Ġinstance , Ġnew ĠClass []{ xx . class , Ġxxx . class }, Ġargs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =" ). append (" (\ $ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Static Method (" ). append ("\ "" ). append ( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method ))). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" new ĠClass []{ "). append ( param Class String ). append (" }, "). append ("\ $ args "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Object [] Ġparams Ġ= Ġget Real Params ( args ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" java . lang . Object [] Ġparams =" ). append ( Constants . PATCH _ GET _ REAL _ METHOD _ NAME ). append (" (\ $ args ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param Class String . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =" ). append (" (\ $ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Static Method (" ). append ("\ "" ). append ( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method ))). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" null , "). append (" params "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =" ). append (" (\ $ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Static Method (" ). append ("\ "" ). append ( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method ))). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" new ĠClass []{ "). append ( param Class String ). append (" }, "). append (" params "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isIn Static Method ) Ġ{// åľ¨ éĿĻæĢģ æĸ¹æ³ķ éĩĮ è°ĥçĶ¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// instance Ġ= Ġ(( method Call Class ) arg 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" instance =" ). append (" (" ). append ( method Call . method . decl aring Class . name ). append (" )\ $ 0 ; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Reflect Utils . invoke Method ( methodName , Ġclass , Ġinstance , Ġnull , Ġargs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param Class String . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Method (" ). append ("\ "" ). append (( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method )) )). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" instance , "). append (" null , "). append ("\ $ args "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Reflect Utils . invoke Method ( methodName , Ġclass , Ġinstance , Ġnew ĠClass []{ xx . class , Ġc cc . class }, Ġargs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Method (" ). append ("\ "" ). append (( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method )) )). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" instance , "). append (" new ĠClass [] {$ param Class String }, "). append ("\ $ args ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** * ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġif Ġ( arg 0 Ġ== Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġinstance Ġ= Ġ(( new Class ) this ). origin ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġinstance Ġ= Ġarg 0 ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" if (\ $ 0 Ġ== Ġthis ) Ġ{ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" instance Ġ= Ġ( (${ new Class . name }) \$ 0 ). "). append ( Constants . PATCH _ ORIGIN _ CLASS _ FIELD _ NAME ). append ("; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" } Ġelse Ġ{ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" instance Ġ= Ġ"). append ("\ $ 0 ; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Reflect Utils . invoke Method ( methodName , Ġclass , Ġinstance , Ġnull , Ġargs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param Class String . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Method (" ). append ("\ "" ). append (( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method )) )). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" instance , "). append (" null , "). append ("\ $ args "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Reflect Utils . invoke Method ( methodName , Ġclass , Ġinstance , Ġnew ĠClass []{ xx . class , Ġc cc . class }, Ġargs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r ) "). append ( Constants . REF LECT _ CLASS _ NAME ). append (". invoke Method (" ). append ("\ "" ). append (( get MethodName By Method Param Signature With ReturnType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Method Param Signature With ReturnType ( method Call . method )) )). append ("\ "" ). append ("," ). append ( method Call . method . decl aring Class . name ). append (". class , "). append (" instance , "). append (" new ĠClass [] {$ param Class String }, "). append ("\ $ args ); ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ ĠQuick Fix Transformer . s Logger . quiet (" getMethod Call String : Ġstring Ġ= Ġ${ string . toString () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// è¿ĶåĽŀ : ĊĠĠĠ Ġprivate Ġfun Ġget Param Class Params String ( array : ĠArray < Ct Class >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġarray . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( it . name ). append (". class , ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( string . isNotEmpty () Ġ&& Ġstring . last () Ġ== Ġ', ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . delete Char At ( string . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// è¿ĶåĽŀ ï¼ļ String Ġget Method Param Signature With ReturnType ( jav assist . Ct Method , xx , xx ) ĊĠĠĠ Ġprivate Ġfun Ġget Method Param Signature With ReturnType ( ct Method : ĠC t Method ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġstring . append ( ct Method . returnType . name ). append (" Ġ") ĊĠĠĠĠĠĠĠ Ġstring . append ( ct Method . name ). append (" (" ) ĊĠĠĠĠĠĠĠ Ġct Method . parameter Types . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( it . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append (",") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( string . isNotEmpty () Ġ&& Ġstring . last () Ġ== Ġ', ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . delete Char At ( string . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstring . append (" )") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget MethodName By Method Param Signature With ReturnType ( method Param Signature With ReturnType : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= Ġmethod Param Signature With ReturnType . substring ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Param Signature With ReturnType . indexOf (' Ġ') Ġ+ Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Param Signature With ReturnType . indexOf (' (' ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġstring ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Invoke Super String ( m : ĠC t Method , Ġorigin Class : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= ĠStringBuilder (). append ("{ ") ĊĠĠĠĠĠĠĠ Ġif Ġ( m . returnType Ġ!= ĠC t Class . void Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ("\ $_ =( \$ r )") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( m . parameter Types . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( origin Class . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( Constants . PATCH _ STATIC _ SUPER _ METHOD _ PREFIX Ġ+ Ġm . name ). append ("( this , "). append ( Constants . PATCH _ ORIGIN _ CLASS _ FIELD _ NAME ). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( Constants . PATCH _ STATIC _ SUPER _ METHOD _ PREFIX Ġ+ Ġm . name ). append ("( null , "). append ( origin Class ). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( origin Class . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( Constants . PATCH _ STATIC _ SUPER _ METHOD _ PREFIX Ġ+ Ġm . name ). append ("( this , "). append ( Constants . PATCH _ ORIGIN _ CLASS _ FIELD _ NAME ). append (", \ $\ $ "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring . append ( Constants . PATCH _ STATIC _ SUPER _ METHOD _ PREFIX Ġ+ Ġm . name ). append ("( null , "). append ( origin Class ). append (", \ $\ $ "). append (" ); ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstring . append (" }") ĊĠĠĠĠĠĠĠ ĠQuick Fix Transformer . s Logger . quiet (" get Invoke Super String : Ġstring Ġ= Ġ${ string . toString () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . toString () ĊĠĠĠ Ġ} Ċ }