package Ġdev . bl ach ut . svelte . lang . psi Ċ Ċ import Ġcom . intellij . lang . javascript . psi . impl . JS Reference Expression Impl Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . tree . I ElementType Ċ import Ġcom . intellij . refactor ing . rename . Fragment ary Psi Reference Ċ Ċ class ĠS velte JS Reference Expression ( elementType : ĠI ElementType ) Ġ: ĠJS Reference Expression Impl ( elementType ), ĊĠĠĠ ĠFragment ary Psi Reference Ġ{ ĊĠĠĠ Ġval Ġis Sub scribed Reference : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġqualifier Ġ== Ġnull Ġ&& Ġsuper . get Referenced Name ()?. let (:: is Dollar Prefix ed Name ) Ġ?: Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis ReadOnly Fragment (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Fragment Only Rename (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġis Sub scribed Reference ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Referenced Name (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġsuper . get Referenced Name () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( name Ġ!= Ġnull Ġ&& Ġqualifier Ġ== Ġnull Ġ&& Ġis Dollar Prefix ed Name ( name )) Ġname . substring ( 1 ) Ġelse Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Canonical Text (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġsuper . getCanonical Text () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Dollar Prefix ed Name ( name )) Ġname . substring ( 1 ) Ġelse Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Range In Element (): ĠText Range Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrange Ġ= Ġsuper . get Range In Element () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Sub scribed Reference ) ĠText Range ( range . start Offset Ġ+ Ġ 1 , Ġrange . end Offset ) Ġelse Ġrange ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Element Rename ( new ElementName : ĠString ): ĠPsi Element Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcorrected Name Ġ= Ġif Ġ( is Sub scribed Reference ) Ġ"\ $$ new ElementName " Ġelse Ġnew ElementName ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . handle Element Rename ( corrected Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġis Dollar Prefix ed Name ( name : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġname . length Ġ> Ġ 1 Ġ&& Ġname [ 0 ] Ġ== Ġ'$ ' Ġ&& Ġname [ 1 ] Ġ!= Ġ'$ ' ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ