package Ġme . him 1 8 8 . kotlin . dynamic . deleg ation . compiler Ċ Ċ import Ġcom . google . auto . service . Auto Service Ċ import Ġme . him 1 8 8 . kotlin . dynamic . deleg ation . compiler . Plugin Compiler Configuration Keys . EXAMPLE Ċ import Ġorg . jetbrains . kotlin . compiler . plugin . Abstract Cli Option Ċ import Ġorg . jetbrains . kotlin . compiler . plugin . Cli Option Ċ import Ġorg . jetbrains . kotlin . compiler . plugin . CommandLine Processor Ċ import Ġorg . jetbrains . kotlin . config . Compiler Configuration Ċ Ċ @ Auto Service ( CommandLine Processor :: class ) Ċ class ĠDynamic Deleg ation CommandLine Processor Ġ: ĠCommandLine Processor Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCOMPI LER _ PLUGIN _ ID : ĠString Ġ= Ġ" kotlin - dynamic - deleg ation " ĊĊĠĠĠĠĠĠĠ Ġval ĠOPTION _ EXAMPLE : ĠCli Option Ġ= ĠCli Option ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEX AMPLE . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"< example / example >", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Example Ġkey ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġplugin Id : ĠString Ġ= ĠCOMPI LER _ PLUGIN _ ID ĊĠĠĠ Ġoverride Ġval Ġplugin Options : ĠCollection < Cli Option > Ġ= ĠlistOf () ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Option ( option : ĠAbstract Cli Option , Ġvalue : ĠString , Ġconfiguration : ĠCompiler Configuration ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġwhen Ġ( option ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠOPTION _ EXAMPLE Ġ-> Ġconfiguration . put ( EXAMPLE , Ġvalue ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠCli Option Processing Exception (" Unknown Ġoption : Ġ${ option . option Name }") Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }