package Ġgd script . completion Ċ Ċ import Ġapi . Version ed Classes Service Ċ import Ġcom . intellij . code Insight . completion . Completion Contributor Ċ import Ġcom . intellij . code Insight . completion . Completion Parameters Ċ import Ġcom . intellij . code Insight . completion . Completion ResultSet Ċ import Ġcom . intellij . code Insight . lookup . Lookup Element Ċ import Ġcom . intellij . openapi . components . service Ċ import Ġcom . intellij . psi . util . Psi Tree Util Ċ import Ġgd script . Script TokenType Ċ import Ġgd script . completion . utils . Lookup Factory Ċ import Ġgd script . utils . Psi Element Utils . is Leaf Ċ Ċ class ĠStatic Completion Contributor Ġ: ĠCompletion Contributor () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġfill Completion Variants ( parameters : ĠCompletion Parameters , Ġresult : ĠCompletion ResultSet ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprev Ġ= ĠPsi Tree Util . prev Visible Leaf ( parameters . position ) ĊĠĠĠĠĠĠĠ Ġif Ġ( prev ?. is Leaf ( Script TokenType . DOT ) Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠPsi Tree Util . prev Visible Leaf ( prev ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlook ups Ġ= Ġfind Class Look ups ( id ?. text . or Empty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . case Ins ensitive (). addAll Elements ( look ups ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfind Class Look ups ( name : ĠString ): ĠList < Lookup Element > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapi Ġ= Ġservice < Version ed Classes Service >(). current () ĊĠĠĠĠĠĠĠ Ġval Ġclazz Ġ= Ġ( api . classes Ġ+ Ġapi . sing letons ). find Ġ{ Ġit . name Ġ== Ġname Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠ Ġval Ġconstants Ġ= Ġclazz . constants . map Ġ{ ĠLookup Factory . create Constant ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( clazz Ġ! in Ġapi . sing letons ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġconstants ĊĠĠĠĠĠĠĠ Ġval Ġmethods Ġ= Ġclazz . methods . map Ġ{ ĠLookup Factory . create Static Method ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġconstants Ġ+ Ġmethods ĊĠĠĠ Ġ} Ċ Ċ } Ċ