/* Ċ Ġ* ĠĠĠĠĠ ĠK ores - Source Writer Ġ- ĠTrans lates ĠK ores ĠStructure Ġto ĠJava ĠSource Ġ< https :// github . com / Jon athan xD / K ores - Source Writer > Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠĠ ĠThe ĠMIT ĠLicense Ġ( MIT ) Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠThe Real Bug gy / Jon athan xD Ġ( https :// github . com / Jon athan xD /) Ġ< jon athan . script er @ program mer . net > Ċ Ġ* ĠĠĠĠĠ ĠCopyright Ġ( c ) Ġcontributors Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* ĠĠĠĠĠ Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* ĠĠĠĠĠ Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* ĠĠĠĠĠ Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* ĠĠĠĠĠ Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* ĠĠĠĠĠ Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* ĠĠĠĠĠ Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠĠĠĠĠ ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠĠĠĠĠ ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠĠĠĠĠ ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠĠĠĠĠ ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠĠĠĠĠ ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠĠĠĠĠ ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ package Ġcom . k ores framework . k ores . source . process . processors Ċ Ċ import Ġcom . github . jon athan xd . i utils . data . Typed Data Ċ import Ġcom . k ores framework . k ores . Types Ċ import Ġcom . k ores framework . k ores . base . Invoke Dynamic Base Ċ import Ġcom . k ores framework . k ores . base . Return Ċ import Ġcom . k ores framework . k ores . processor . Processor Manager Ċ import Ġcom . k ores framework . k ores . processor . process As Ċ import Ġcom . k ores framework . k ores . source . process . App ending Processor Ċ import Ġcom . k ores framework . k ores . type .` is ` Ċ Ċ object ĠInvoke Dynamic Processor Ġ: ĊĠĠĠ Ġcom . k ores framework . k ores . source . process . App ending Processor < Invoke Dynamic Base > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġprocess ( ĊĠĠĠĠĠĠĠ Ġpart : ĠInvoke Dynamic Base , ĊĠĠĠĠĠĠĠ Ġdata : ĠTyped Data , ĊĠĠĠĠĠĠĠ Ġprocessor Manager : ĠProcessor Manager <* >, ĊĠĠĠĠĠĠĠ Ġapp ender : Ġcom . k ores framework . k ores . source . process . Java Source Appender ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( part ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInvoke Dynamic Base . Lambda Local Code Base Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġpart . base Sam . type Spec . parameter Types . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= Ġpart . local Code . parameters . sub List ( 0 , Ġsize ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ( separator Ġ= Ġ", Ġ", Ġprefix Ġ= Ġ" (", Ġpostfix Ġ= Ġ") ") Ġ{ Ġit . name Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp ender Ġ+= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp ender Ġ+= Ġ" Ġ-> Ġ" ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsingle Ġ= Ġpart . local Code . body . single OrNull () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( single Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshould Single Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( part . base Sam . type Spec . returnType .` is `( Types . VOID ) Ġ&& Ġsingle Ġ! is ĠReturn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġ(! part . base Sam . type Spec . returnType .` is `( Types . VOID ) Ġ&& Ġsingle Ġis ĠReturn ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( should Single ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( single Ġis ĠReturn ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Manager . process As ( single . value , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Manager . process As ( single , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Manager . process As ( part . local Code . body , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Manager . process As ( part . local Code . body , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInvoke Dynamic Base . Lambda Method Ref Base Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġpart . method Ref . method Type Spec . methodName ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( part . method Ref . invoke Type . is Static ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Manager . process As ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUtil . localization Resolve ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpart . method Ref . method Type Spec . localization , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Manager . process As ( part . dynamic Descriptor . arguments . first (), Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp ender Ġ+= Ġ":: " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp ender Ġ+= Ġname ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp ender Ġ+= Ġ"// ĠUnsupported : Ġ$ part " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }