package Ġcom . ember js . h bs Ċ Ċ import Ġcom . ember js . index . Em ber Name Index Ċ import Ġcom . ember js . lookup . Em ber Lookup Element Builder Ċ import Ġcom . ember js . resolver . Em ber Name Ċ import Ġcom . intellij . openapi . util . Text Range Ċ 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 Ċ Ċ open Ġclass ĠH bs Module Reference ( element : ĠPsi Element , Ġval Ġmodule Type : ĠString ) Ġ: ĊĠĠĠĠĠĠĠ ĠPsi Poly Variant Reference Base < Psi Element >( element , ĠText Range ( 0 , Ġelement . text Length ), Ġ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 ) Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġmatches ( module : ĠEmber Name ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodule . type Ġ== Ġmodule Type Ġ&& Ġmodule . name Ġ== Ġvalue ĊĊĠĠĠ Ġoverride Ġfun Ġmulti Resolve ( in complete Code : ĠBoolean ): ĠArray < out ĠResolve Result > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCollect Ġall Ġcomponents Ġfrom Ġthe Ġindex ĊĠĠĠĠĠĠĠ Ġreturn ĠEmber Name Index . get Filtered Files ( scope ) Ġ{ Ġmatches ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠConvert Ġsearch Ġresults Ġfor ĠLookup Elements ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġpsi Manager . find File ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let (:: create Results ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Variants (): ĠArray < out ĠAny ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCollect Ġall Ġcomponents Ġfrom Ġthe Ġindex ĊĠĠĠĠĠĠĠ Ġreturn ĠEmber Name Index . get Filtered Project Keys ( scope ) Ġ{ Ġit . type Ġ== Ġmodule Type Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠConvert Ġsearch Ġresults Ġfor ĠLookup Elements ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠEmber Lookup Element Builder . create ( it , Ġdots Ġ= Ġfalse ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Typed Array () ĊĠĠĠ Ġ} Ċ } Ċ