package Ġorg . jetbrains . du kat . compiler . tests Ċ Ċ import Ġorg . jetbrains . kotlin . cli . common . messages . Compiler Message Severity Ċ import Ġorg . jetbrains . kotlin . cli . common . messages . Compiler Message Source Location Ċ import Ġorg . jetbrains . kotlin . cli . common . messages . Message Collector Ċ Ċ internal Ġfun ĠString . to File Uri Scheme (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ" file :// /${ this . replace ( System . getProperty (" file . separator "), Ġ"/") }" Ċ } Ċ Ċ class ĠCompile Message Collector ( private Ġval ĠonError : Ġ( message : ĠString , Ġseverity : ĠCompiler Message Severity , Ġlocation : ĠCompiler Message Source Location ?) Ġ-> ĠUnit ) Ġ: ĠMessage Collector Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġmy Has Errors : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Has Errors Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Errors (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreport ( severity : ĠCompiler Message Severity , Ġmessage : ĠString , Ġlocation : ĠCompiler Message Source Location ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( severity . isError ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Has Errors Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠonError ( message , Ġseverity , Ġlocation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġ"${ location ?. path }:${ location ?. line }:${ location ?. column }" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . err . println ("[ failure ] Ġ${ severity } Ġ${ message . take ( 5 0 0 0 )} Ġ${ source . to File Uri Scheme () }") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("[ warning ] Ġ${ severity } Ġ${ message } Ġ${ location }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }