package Ġru . art . platform . script . service Ċ Ċ import Ġorg . jetbrains . kotlin . descriptors . runtime . structure .* Ċ import Ġru . art . platform . script . analyzer .* Ċ import Ġru . art . platform . script . compiler . Kotlin Script Compiler . compile Ċ import Ġru . art . platform . script . completion .* Ċ import Ġru . art . platform . script . constants . Kotlin Script Constants . CALL Ċ import Ġru . art . platform . script . constants . Kotlin Script Constants . K OT LIN _ DEFAULT _ SCRIPT _ NAME Ċ import Ġru . art . platform . script . constants . Kotlin Script Constants . KT Ċ import Ġru . art . platform . script . constants . Kotlin Script Constants . KT _ DOT _ CLASS Ċ import Ġru . art . platform . script . constants . Kotlin Script Constants . RUN Ċ import Ġru . art . platform . script . factory . Kotlin Script Psi File Factory . create Psi File Ċ import Ġru . art . platform . script . factory . Kotlin Script Psi File Factory . create Psi Files Ċ import Ġru . art . platform . script . loader . Kotlin Script ClassLoader . initialize Script Class Ċ import Ġru . art . platform . script . model .* Ċ Ċ fun ĠString . to Kotlin Script ( name : ĠString Ġ= ĠK OT LIN _ DEFAULT _ SCRIPT _ NAME ) Ġ= ĠKotlin Script ( name , Ġthis ) Ċ Ċ object ĠKotlin Script Service Ġ{ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġfun Ġ< T > Ġcall Kotlin Script ( script : ĠKotlin Script , Ġfunction : ĠString Ġ= ĠCALL , Ġvar arg Ġparameters : ĠAny ): ĠT ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Kotlin Script ( script ). files [" ${ script . name . capitalize ()} $ KT _ DOT _ CLASS "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġinitialize Script Class ("${ script . name . capitalize ()} $ KT ", Ġit ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parameters . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ run Ġget Declared Method ( function ). invoke ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġdeclared Methods . single Ġ{ Ġmethod Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . parameter Types . map Ġ{ Ġtypes Ġ-> Ġif Ġ( types . is Primitive ) Ġtypes . wrapper By Primitive !! Ġelse Ġtypes Ġ} Ġ== Ġparameters . map Ġ{ Ġparameter Ġ-> Ġparameter . java Class Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ run Ġmethod . invoke ( this , Ġ* parameters ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġas ĠT ? ĊĊĠĠĠ Ġfun Ġrun Kotlin Script ( script : ĠKotlin Script , Ġfunction : ĠString Ġ= ĠRUN ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcompile Kotlin Script ( script ). files [" ${ script . name . capitalize ()} $ KT _ DOT _ CLASS "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġinitialize Script Class ("${ script . name . capitalize ()} $ KT ", Ġit ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . apply Ġ{ Ġget Declared Method ( function ). invoke ( this ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Kotlin Script Errors ( script : ĠKotlin Script ): ĠMap < String , ĠList < Error Descriptor >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Kotlin Scripts Errors ( map Of ( script . name Ġto Ġscript )) ĊĊĠĠĠ Ġfun Ġget Kotlin Scripts Errors ( scripts : ĠMap < String , ĠKotlin Script >): ĠMap < String , ĠList < Error Descriptor >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Script Errors Analyzer ( create Psi Files ( scripts )). getAll Errors () ĊĊĠĠĠ Ġfun Ġget Kotlin Script Completion Variants ( current Script : ĠKotlin Script , ĠlineNumber : ĠInt , Ġcaret Offset : ĠInt ): ĠList < Completion Variant > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Kotlin Script Completion Variants ( map Of ( current Script . name Ġto Ġcurrent Script ), Ġcurrent Script , ĠlineNumber , Ġcaret Offset ) ĊĊĠĠĠ Ġfun Ġget Kotlin Script Completion Variants ( scripts : ĠMap < String , ĠKotlin Script >, Ġcurrent Script : ĠKotlin Script , ĠlineNumber : ĠInt , Ġcaret Offset : ĠInt ): ĠList < Completion Variant > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Script Completion Provider ( create Psi Files ( scripts ), Ġcreate Psi File ( current Script ), ĠlineNumber , Ġcaret Offset ). getResult () ĊĊĠĠĠ Ġfun Ġcompile Kotlin Script ( script : ĠKotlin Script ): ĠCompilation Result Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Kotlin Scripts ( map Of ( script . name Ġto Ġscript )) ĊĊĠĠĠ Ġfun Ġcompile Kotlin Scripts ( scripts : ĠMap < String , ĠKotlin Script >): ĠCompilation Result Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompile ( create Psi Files ( scripts )) Ċ }