package Ġcom . ember js . psi Ċ Ċ import Ġcom . ember js . index . Em ber Name Index Ċ import Ġcom . ember js . lookup . Em ber Lookup Element Builder Ċ import Ġcom . intellij . lang . javascript . psi . J SL iteral Expression Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Element Resolve Result . create Results Ċ import Ġcom . intellij . psi . Psi Manager Ċ import Ġcom . intellij . psi . Psi Poly Variant Reference Base Ċ import Ġcom . intellij . psi . Resolve Result Ċ import Ġcom . intellij . psi . search . Project Scope Ċ Ċ class ĠEmber J SL iteral Reference ( element : ĠJ SL iteral Expression , Ġval Ġtypes : ĠIterable < String >) Ġ: ĊĠĠĠĠĠĠĠ ĠPsi Poly Variant Reference Base < J SL iteral Expression >( element , Ġtrue ) Ġ{ ĊĊĠĠĠ Ġval Ġproject Ġ= Ġelement . project ĊĠĠĠ Ġprivate Ġval Ġscope Ġ= ĠProject Scope . getAll Scope ( project ) ĊĊĠĠĠ Ġprivate Ġval Ġpsi Manager : ĠPsi Manager Ġby Ġlazy Ġ{ ĠPsi Manager . getInstance ( project ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmulti Resolve ( in complete Code : ĠBoolean ): ĠArray < out ĠResolve Result > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġelement . value ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ! is ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġempty Array () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Results ( resolve ( value . replace (".", Ġ"/ "))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġresolve ( value : ĠString ): ĠCollection < Psi Element > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnames Ġ= ĠarrayOf ( value , Ġvalue . remove Suffix (" s ")) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCollect Ġall Ġmatching Ġmodules Ġfrom Ġthe Ġindex ĊĠĠĠĠĠĠĠ Ġreturn ĠEmber Name Index . get Filtered Files ( scope ) Ġ{ Ġit . type Ġin Ġtypes Ġ&& Ġit . name Ġin Ġnames Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLookup Ġcorresponding ĠPsi Files ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġpsi Manager . find File ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter NotNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Variants (): ĠArray < out ĠAny > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEmber Name Index . get Filtered Project Keys ( scope ) Ġ{ Ġit . type Ġ== Ġtypes . first OrNull () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFilter Ġout Ġmodules Ġthat Ġare Ġnot Ġrelated Ġto Ġthis Ġpro je ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠConvert Ġsearch Ġresults Ġfor ĠLookup Elements ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠEmber Lookup Element Builder . create ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Typed Array () ĊĠĠĠ Ġ} Ċ } Ċ