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 . ember js . utils . Em ber Utils Ċ import Ġcom . intellij . lang . Language Ċ import Ġcom . intellij . lang . javascript . psi . JS Object Literal Expression Ċ import Ġcom . intellij . lang . javascript . psi . JS Reference Expression Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . psi .* Ċ import Ġcom . intellij . psi . Psi Element Resolve Result . create Results Ċ 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 Ġinternal Helpers File Ġ= ĠPsi File Factory . getInstance ( project ). create File FromText (" intellij - ember js / internal / helpers - stub ", ĠLanguage . find Language ByID (" TypeScript ") !! , Ġthis :: class . java . getResource ("/ com / ember js / external / ember - helpers . ts "). read Text ()) ĊĠĠĠ Ġprivate Ġval Ġinternal Modifiers File Ġ= ĠPsi File Factory . getInstance ( project ). create File FromText (" intellij - ember js / internal / modifiers - stub ", ĠLanguage . find Language ByID (" TypeScript ") !! , Ġthis :: class . java . getResource ("/ com / ember js / external / ember - modifiers . ts "). read Text ()) ĊĠĠĠ Ġprivate Ġval Ġinternal Components File Ġ= ĠPsi File Factory . getInstance ( project ). create File FromText (" intellij - ember js / internal / components - stub ", ĠLanguage . find Language ByID (" TypeScript ") !! , Ġthis :: class . java . getResource ("/ com / ember js / external / ember - components . ts "). read Text ()) ĊĊĠĠĠ Ġprivate Ġval Ġinternal Helpers Ġ= ĠEmber Utils . resolve Default Export ( internal Helpers File ) Ġas ĠJS Object Literal Expression ĊĠĠĠ Ġprivate Ġval Ġinternal Modifiers Ġ= ĠEmber Utils . resolve Default Export ( internal Modifiers File ) Ġas ĠJS Object Literal Expression ĊĠĠĠ Ġprotected Ġval Ġinternal Components Ġ= ĠEmber Utils . resolve Default Export ( internal Components File ) Ġas ĠJS Object Literal Expression ĊĊĠĠĠ Ġ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 ĊĊĠĠĠĠĠĠĠ Ġif Ġ( module Type Ġ== Ġ" helper ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( internal Helpers . properties . map Ġ{ Ġit . name Ġ}. contains ( element . text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprop Ġ= Ġinternal Helpers . properties . find Ġ{ Ġit . name Ġ== Ġelement . text Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate Results (( prop ?. js Type ?. source Element Ġas ĠJS Reference Expression ). resolve ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( module Type Ġ== Ġ" modifier ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( internal Modifiers . properties . map Ġ{ Ġit . name Ġ}. contains ( element . text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprop Ġ= Ġinternal Modifiers . properties . find Ġ{ Ġit . name Ġ== Ġelement . text Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate Results (( prop ?. js Type ?. source Element Ġas ĠJS Reference Expression ). resolve ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠEmber Name Index . get Filtered Files ( scope ) Ġ{ Ġmatches ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠConvert Ġsearch Ġresults Ġfor ĠLookup Elements ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġpsi Manager . find File ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter NotNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠEmber Utils . resolve To Em ber ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. 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 () ĊĠĠĠ Ġ} Ċ } Ċ