package Ġio . gitlab . art urb os ch . de te kt . api Ċ Ċ import Ġorg . jetbrains . kotlin . psi . Kt File Ċ Ċ /** Ċ Ġ* ĠG ather Ġadditional Ġmetrics Ġabout Ġthe Ġanalyzed Ġkotlin Ġfile . Ċ Ġ* ĠPay Ġattention Ġto Ġthe Ġthread Ġpolicy Ġof Ġeach Ġfunction ! Ċ Ġ* Ċ Ġ* Ġ@ author ĠArt ur ĠB os ch Ċ Ġ*/ Ċ @ Suppress (" Empty Function Block ") Ċ interface ĠFile Process Listener Ġ: ĠExtension Ġ{ ĊĊ ĉ /** Ċĉ Ġ* ĠUse Ġthis Ġto Ġgather Ġsome Ġadditional Ġinformation Ġfor Ġthe Ġreal Ġon Process Ġfunction . Ċĉ Ġ* ĠThis Ġcalculation Ġshould Ġbe Ġlightweight Ġas Ġthis Ġmethod Ġis Ġcalled Ġfrom Ġthe Ġmain Ġthread . Ċĉ Ġ*/ Ċ ĉ fun ĠonStart ( files : ĠList < Kt File >) Ġ{} ĊĊ ĉ /** Ċĉ Ġ* ĠCalled Ġwhen Ġprocessing Ġof Ġa Ġfile Ġbegins . Ċĉ Ġ* ĠThis Ġmethod Ġis Ġcalled Ġfrom Ġa Ġthread Ġpool Ġthread . ĠHe avy Ġcomput ations Ġallowed . Ċĉ Ġ*/ Ċ ĉ fun Ġon Process ( file : ĠK t File ) Ġ{} ĊĊ ĉ /** Ċĉ Ġ* ĠCalled Ġwhen Ġprocessing Ġof Ġa Ġfile Ġcompletes . Ċĉ Ġ* ĠThis Ġmethod Ġis Ġcalled Ġfrom Ġa Ġthread Ġpool Ġthread . ĠHe avy Ġcomput ations Ġallowed . Ċĉ Ġ*/ Ċ ĉ fun Ġon Process Complete ( file : ĠK t File , Ġfindings : ĠMap < String , ĠList < Finding >>) Ġ{} ĊĊ ĉ /** Ċĉ Ġ* ĠMain ly Ġuse Ġthis Ġmethod Ġto Ġsave Ġcomputed Ġmetrics Ġfrom ĠK t File 's Ġto Ġthe Ġ{@ link ĠDet ek tion } Ġcontainer . Ċĉ Ġ* ĠDo Ġnot Ġdo Ġheavy Ġcomput ations Ġhere Ġas Ġthis Ġmethod Ġis Ġcalled Ġfrom Ġthe Ġmain Ġthread . Ċĉ Ġ*/ Ċ ĉ fun Ġon Finish ( files : ĠList < Kt File >, Ġresult : ĠDet ek tion ) Ġ{} Ċ } Ċ