/* Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ċ Ġ* Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . rust . lang . core . psi . ext Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . navigation . Item Presentation Ċ import Ġcom . intellij . psi . Navig atable Psi Element Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Name Identifier Owner Ċ import Ġcom . intellij . psi . Psi Named Element Ċ import Ġcom . intellij . psi . stubs . I Stub ElementType Ċ import Ġcom . intellij . psi . stubs . Stub Element Ċ import Ġorg . rust . ide . presentation . get Presentation Ċ import Ġorg . rust . lang . core . psi . Rs Element Types . IDENTIFIER Ċ import Ġorg . rust . lang . core . psi . Rs Psi Factory Ċ import Ġorg . rust . lang . core . stubs . Rs Named Stub Ċ Ċ interface ĠRs Named Element Ġ: ĠRs Element , ĠPsi Named Element , ĠNavig atable Psi Element Ċ Ċ interface ĠRs Name Identifier Owner Ġ: ĠRs Named Element , ĠPsi Name Identifier Owner Ċ Ċ abstract Ġclass ĠRs Named Element Impl ( node : ĠAST Node ) Ġ: ĠRs Element Impl ( node ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRs Name Identifier Owner Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetName Identifier (): ĠPsi Element ? Ġ= Ġfind Child ByType ( IDENTIFIER ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString ? Ġ= Ġname Identifier ?. text ĊĊĠĠĠ Ġoverride Ġfun ĠsetName ( name : ĠString ): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġname Identifier ?. replace ( Rs Psi Factory ( project ). create Identifier ( name )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetText Offset (): ĠInt Ġ= Ġname Identifier ?. text Offset Ġ?: Ġsuper . getText Offset () Ċ } Ċ Ċ abstract Ġclass ĠRs Stub bed Named Element Impl < Stub T > Ġ: ĠRs Stub bed Element Impl < Stub T >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRs Name Identifier Owner Ċ where ĠStub T Ġ: ĠRs Named Stub , ĠStub T Ġ: ĠStub Element < *> Ġ{ ĊĊĠĠĠ Ġconstructor ( node : ĠAST Node ) Ġ: Ġsuper ( node ) ĊĊĠĠĠ Ġconstructor ( stub : ĠStub T , Ġnode Type : ĠI Stub ElementType < *, Ġ* >) Ġ: Ġsuper ( stub , Ġnode Type ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetName Identifier (): ĠPsi Element ? ĊĠĠĠĠĠĠĠ Ġ= Ġfind Child ByType ( IDENTIFIER ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstub Ġ= Ġstub ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( stub Ġ!= Ġnull ) Ġstub . name Ġelse Ġname Identifier ?. text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetName ( name : ĠString ): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġname Identifier ?. replace ( Rs Psi Factory ( project ). create Identifier ( name )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetText Offset (): ĠInt Ġ= Ġname Identifier ?. text Offset Ġ?: Ġsuper . getText Offset () ĊĊĠĠĠ Ġoverride Ġfun Ġget Presentation (): ĠItem Presentation Ġ= Ġget Presentation ( this ) Ċ } Ċ