import Ġcom . google . devtools . k sp . processing .* Ċ import Ġcom . google . devtools . k sp . symbol .* Ċ import Ġjava . io . OutputStream Ċ Ċ class ĠError Processor Ġ: ĠSymbol Processor Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġcode Generator : ĠCode Generator ĊĠĠĠ Ġlateinit Ġvar Ġlogger : ĠK SP Logger ĊĠĠĠ Ġlateinit Ġvar Ġfile : ĠOutputStream ĊĠĠĠ Ġlateinit Ġvar Ġexception : ĠString ĊĊĠĠĠ Ġfun Ġinit ( ĊĠĠĠĠĠĠĠ Ġoptions : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠ Ġkotlin Version : ĠKotlin Version , ĊĠĠĠĠĠĠĠ Ġcode Generator : ĠCode Generator , ĊĠĠĠĠĠĠĠ Ġlogger : ĠK SP Logger ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġexception Ġ= Ġif Ġ( options . containsKey (" exception ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions [" exception "] !! ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( exception Ġ== Ġ" init ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" Test ĠException Ġin Ġinit ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . logger Ġ= Ġlogger ĊĠĠĠĠĠĠĠ Ġthis . code Generator Ġ= Ġcode Generator ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess ( resolver : ĠResolver ): ĠList < KS Annotated > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( exception Ġ== Ġ" create Tw ice ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Generator . createNew File ( Dependencies . ALL _ FILES , Ġ" create ", Ġ" Tw ice "). write (" ". toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( exception Ġ== Ġ" process ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" Test ĠException Ġin Ġprocess ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfinish () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( exception Ġ== Ġ" finish ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" Test ĠException Ġin Ġfinish ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( exception Ġ== Ġ" error ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" Test ĠException Ġin Ġerror ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠError Processor Provider Ġ: ĠSymbol Processor Provider Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠ Ġenv : ĠSymbol Processor Environment ĊĠĠĠ Ġ): ĠSymbol Processor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠError Processor (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit ( env . options , Ġenv . kotlin Version , Ġenv . code Generator , Ġenv . logger ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ