package Ġio . github . will 7 2 0 0 . plugins . cas bin . language . reference Ċ Ċ import Ġcom . intellij . code Insight . lookup . Lookup Element Builder Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . openapi . diagnostic . Logger Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Element Resolve Result Ċ import Ġcom . intellij . psi . Psi Reference Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . Cas bin Attribute Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . Cas bin Attribute Definition Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . Cas bin Property Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . Cas bin Psi File Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . impl . Cas bin Attribute Mixin Ċ import Ġio . github . will 7 2 0 0 . plugins . cas bin . language . psi . impl . Cas bin Object Mixin Ċ Ċ open Ġclass ĠCas bin Attribute Reference ( private Ġval Ġusage : ĠCas bin Attribute Mixin ) Ġ: ĊĠĠĠ ĠPsi Reference Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlog : ĠLogger Ġ= ĠLogger . getInstance ( Cas bin Attribute Reference :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Element () Ġ= Ġusage Ġas ĠCas bin Attribute ĊĠĠĠ Ġoverride Ġfun Ġget Range In Element (): ĠText Range Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Offset Ġ= Ġname Node . start Offset Ġ- Ġusage . node . start Offset ĊĠĠĠĠĠĠĠ Ġreturn ĠText Range . create ( start Offset , Ġstart Offset Ġ+ Ġname Node . text Length ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind To Element ( element : ĠPsi Element ): ĠPsi Element ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġname Node : ĠAST Node ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġusage . node ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Reference To ( element : ĠPsi Element ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġis ĠCas bin Attribute Definition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobj Ġ= Ġ( usage . parent Ġas ĠCas bin Object Mixin ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( obj . name Ġ== Ġ( element . parent . parent . parent Ġas ĠCas bin Property ). name Ġ&& Ġusage . name Ġ== Ġelement . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Canonical Text () Ġ= Ġname Node . text ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Element Rename ( new Name : ĠString ): ĠPsi Element Ġ{ ĊĠĠĠĠĠĠĠ Ġusage . setName ( new Name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġusage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Soft () Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġget Variants (): ĠArray < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( usage . containing File Ġas ĠCas bin Psi File ). attributes For Property (( usage . parent Ġas ĠCas bin Object Mixin ). name !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. distinct By Ġ{ Ġit . name Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLookup Element Builder . create ( it . name !! ). with Type Text (" attribute ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġresolve (): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( usage . containing File Ġas ĠCas bin Psi File ). attributes For Property (( usage . parent Ġas ĠCas bin Object Mixin ). name !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ( name Node . text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map (:: Psi Element Resolve Result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull ()?. element ĊĠĠĠ Ġ} Ċ }