package Ġorg . net kernel . lang . kotlin . test Ċ Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . net kernel . lang . kotlin . Net Kernel Script Configuration Ċ import Ġorg . net kernel . lang . kotlin . get Kotlin Compiler ClassLoader Ċ import Ġorg . net kernel . layer 0 . nk f . INK F RequestContext Ċ import Ġorg . net kernel . module . standard . endpoint . Standard AccessorImpl Ċ import Ġkotlin . script . experimental . api .* Ċ import Ġkotlin . script . experimental . host . to Script Source Ċ import Ġkotlin . script . experimental . jvm . dependencies From Class loader Ċ import Ġkotlin . script . experimental . jvm . jvm Ċ import Ġkotlin . script . experimental . jvm host . Basic Jvm Script ing Host Ċ Ċ class ĠTest Accessor : ĠStandard AccessorImpl () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Source ( a Context : ĠIN KF RequestContext ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( a Context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcompile ClassLoader Ġ= Ġa Context . get Kotlin Compiler ClassLoader () ĊĊĠĠĠĠĠĠĠ Ġval Ġcompilation Configuration Ġ= ĠScript Compilation Configuration ( listOf ( Net Kernel Script Configuration )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies From Class loader ( class Loader Ġ= Ġcompile ClassLoader , Ġwhole Classpath Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġscript Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| context . create Response From (" Hello ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĊĠĠĠĠĠĠĠ Ġval Ġcompiled Script Result Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBasic Jvm Script ing Host (). compiler ( script . to Script Source (), Ġcompilation Configuration ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompiled Script Result . reports . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġit . exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("${ it . severity } Ġ${ it . message }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcompiled Script Ġ= Ġcompiled Script Result . result OrNull () ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( compiled Script ) ĊĊĠĠĠĠĠĠĠ Ġprintln (" Compiled ") ĊĊĠĠĠĠĠĠĠ Ġval Ġeval Config Ġ= ĠScript Evaluation Configuration Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprovided Properties ( Pair (" context ", Ġa Context )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġeval Result Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBasic Jvm Script ing Host (). evaluator ( compiled Script , Ġeval Config ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġeval Result . reports . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġit . exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("${ it . severity } Ġ${ it . message }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ