package Ġorg . pure script . psi Ċ Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Reference Base Ċ import Ġorg . pure script . file . ModuleName Index . Companion . file Containing Module Ċ import Ġorg . pure script . file . ModuleName Index . Companion . getAll Module Names Ċ import Ġorg . pure script . psi . imports . PS Import Declaration Impl Ċ Ċ class ĠModule Reference ( element : ĠPS Import Declaration Impl ) Ġ: ĠPsi Reference Base < PS Import Declaration Impl >( ĊĠĠĠ Ġelement , ĊĠĠĠ Ġelement . moduleName ?. text Range In Parent Ġ?: ĠText Range . all Of ( element . text . trim ()), ĊĠĠĠ Ġfalse Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Variants (): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetAll Module Names ( element . project ). to Typed Array () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġresolve (): ĠPS Module ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠmoduleName Ġ= Ġelement . moduleName ?. name Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn Ġfile Containing Module ( element . project , ĠmoduleName )?. module ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Element Rename ( name : ĠString ): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold Pro per Name Ġ= Ġelement . moduleName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġnew Pro per Name Ġ= ĠP SP si Factory ( element . project ). create ModuleName ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġold Pro per Name . replace ( new Pro per Name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġelement ĊĠĠĠ Ġ} Ċ } Ċ