package Ġorg . jb . cce . evaluation Ċ Ċ import Ġcom . intellij . openapi . diagnostic . Logger Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . util . registry . Registry Ċ import Ġorg . jb . cce .* Ċ import Ġorg . jb . cce . actions . Completion Type Ċ import Ġorg . jb . cce . evaluation . step . Setup Stats Collector Step Ċ import Ġorg . jb . cce . exceptions . Exceptions Util Ċ import Ġorg . jb . cce . info . File Error Info Ċ import Ġorg . jb . cce . info . File Sessions Info Ċ import Ġorg . jb . cce . interpret ator . Inter pretation Handler Impl Ċ import Ġorg . jb . cce . util . Files Helper Ċ import Ġorg . jb . cce . util . Progress Ċ import Ġorg . jb . cce . util . text Ċ import Ġjava . util .* Ċ import Ġkotlin . system . measure Time Millis Ċ Ċ class ĠActions Inter pretation Handler ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġconfig : ĠConfig . Actions Inter pretation , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlanguage : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcompletion Invoker : ĠCompletion Invoker , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproject : ĠProject ) Ġ: ĠTwo Workspace Handler Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠLOG Ġ= ĠLogger . getInstance ( Actions Inter pretation Handler :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvoke ( workspace 1 : ĠEvaluation Workspace , Ġworkspace 2 : ĠEvaluation Workspace , Ġindicator : ĠProgress ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsessions Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġcomputing Time Ġ= Ġmeasure Time Millis Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsessions Count Ġ= Ġworkspace 1 . actions Storage . compute Sessions Count () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLOG . info (" Comp uting Ġof Ġsessions Ġcount Ġtook Ġ$ computing Time Ġms ") ĊĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠInter pretation Handler Impl ( indicator , Ġsessions Count ) ĊĠĠĠĠĠĠĠ Ġval Ġfilter Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( config . complete Token Probability Ġ< Ġ 1 ) ĠRandom Inter pret Filter ( config . complete Token Probability , Ġconfig . complete Token Seed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠInter pret Filter . default () ĊĠĠĠĠĠĠĠ Ġval Ġinterpreter Ġ= ĠInterpreter ( completion Invoker , Ġhandler , Ġfilter , Ġproject . basePath ) ĊĠĠĠĠĠĠĠ Ġval Ġml Completion Flag Ġ= Ġis ML Completion Enabled () ĊĠĠĠĠĠĠĠ ĠLOG . info (" Start Ġinterpre ting Ġactions ") ĊĠĠĠĠĠĠĠ Ġset ML Completion ( config . completion Type Ġ== ĠCompletion Type . ML ) ĊĠĠĠĠĠĠĠ Ġval Ġfiles Ġ= Ġworkspace 1 . actions Storage . getAction Files () ĊĠĠĠĠĠĠĠ Ġfor Ġ( file Ġin Ġfiles ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Actions Ġ= Ġworkspace 1 . actions Storage . get Actions ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsessions Ġ= Ġinterpreter . interpret ( file Actions ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Text Ġ= ĠFiles Helper . getFile ( project , Ġfile Actions . path ). text () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworkspace 2 . sessions Storage . save Sessions ( File Sessions Info ( file Actions . path , Ġfile Text , Ġsessions )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworkspace 2 . errors Storage . save Error ( File Error Info ( file Actions . path , Ġe . message Ġ?: Ġ" No ĠMessage ", ĠExceptions Util . stack Trace ToString ( e ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . onError Occurred ( e , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( handler . is Cancelled ()) Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( config . save Logs ) Ġworkspace 2 . logs Storage . save ( Setup Stats Collector Step . stats Collector Logs Directory (), Ġlanguage , Ġconfig . train Test Split ) ĊĠĠĠĠĠĠĠ Ġworkspace 2 . sessions Storage . save Evaluation Info () ĊĠĠĠĠĠĠĠ ĠLOG . info (" Inter pre ting Ġactions Ġcompleted ") ĊĠĠĠĠĠĠĠ Ġset ML Completion ( ml Completion Flag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis ML Completion Enabled (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRegistry . get ( Pro pert Key @ Ġ" completion . stats . enable . ml . ranking "). as Boolean () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠMissing Resource Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġset ML Completion ( value : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRegistry . get ( Pro pert Key @ Ġ" completion . stats . enable . ml . ranking "). setValue ( value ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠMissing Resource Exception ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }