// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . completion . ml . sorting Ċ Ċ class ĠRank ing Features ( private Ġval Ġuser : ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcommon Session : ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlookup : ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġmeaningful Re levance : ĠSet < String >) Ġ{ ĊĠ Ġprivate Ġvar Ġre levance : ĠMap < String , ĠAny > Ġ= Ġempty Map () ĊĠ Ġprivate Ġvar Ġadditional : ĠMap < String , ĠAny > Ġ= Ġempty Map () ĊĊĠ Ġ/* ĊĠĠ Ġ* ĠNames Ġof Ġfeatures Ġthat Ġaffect Ġdefault Ġranking ĊĠĠ Ġ*/ ĊĠ Ġfun Ġmeaningful Re levance Features (): ĠSet < String > Ġ{ ĊĠĠĠ Ġreturn Ġmeaningful Re levance ĊĠ Ġ} ĊĊĠ Ġfun Ġfeature Value ( name : ĠString ): ĠAny ? Ġ{ ĊĠĠĠ Ġreturn Ġre levance [ name ] Ġ?: Ġadditional [ name ] Ġ?: Ġcontext [ name ] Ġ?: Ġcommon Session [ name ] Ġ?: Ġuser [ name ] Ġ?: Ġlookup [ name ] ĊĠ Ġ} ĊĊĠ Ġfun Ġhas Feature ( name : ĠString ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġname Ġin Ġre levance Ġ|| Ġname Ġin Ġadditional Ġ|| Ġname Ġin Ġcontext Ġ|| Ġname Ġin Ġcommon Session Ġ|| Ġname Ġin Ġuser Ġ|| Ġname Ġin Ġlookup ĊĠ Ġ} ĊĊĠ Ġfun Ġwith Element Features ( default Re levance : ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Re levance : ĠMap < String , ĠAny >): ĠRank ing Features Ġ{ ĊĠĠĠ Ġthis . re levance Ġ= Ġdefault Re levance ĊĠĠĠ Ġthis . additional Ġ= Ġadditional Re levance ĊĊĠĠĠ Ġreturn Ġthis ĊĠ Ġ} Ċ } Ċ