// ĠCopyright Ġ( c ) Ġ 2 0 1 5 - 2 0 2 0 ĠV lad im ir ĠSch ne ider Ġ< vl ad im ir . sch ne ider @ gmail . com > ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . vl ad sch . md . nav . psi . element Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . vl ad sch . md . nav . psi . reference . Md Psi Reference Ċ import Ġcom . vl ad sch . md . nav . psi . util . Md Types Ċ import Ġicons . Md Icons Ċ import Ġjavax . swing . Icon Ċ Ċ open Ġclass ĠMd Header Text Impl ( node : ĠAST Node ) Ġ: ĠMd Named Element Impl ( node ), ĠMd Header Text Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Reference ( text Range : ĠText Range , Ġexact Reference : ĠBoolean ): ĠMd Psi Reference ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Attribut ed Id ()) Ġnull Ġelse ĠMd Psi Reference ( this , Ġtext Range , Ġexact Reference ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Rename Available (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ! is Attribut ed Id () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetName Identifier (): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Attribut ed Id ()) Ġnull Ġelse Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Attribut ed Id () Ġ= Ġ( parent Ġas ĠMd Header Element ?) ?. id Value Attribute Ġ!= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Attributes Element (): ĠMd Attributes ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfind Child ByType ( Md Types . ATTRIBUTES ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetId Value Attribute (): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġattributes Element ?. id Value Attribute ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Trailing Attributes Length (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠFIX : Ġsee Ġif Ġhave Ġtrailing Ġattributes Ġthat Ġcan Ġbe Ġexcluded Ġfrom Ġthe Ġtext ĊĠĠĠĠĠĠĠ Ġ// val Ġattributes Ġ= Ġattributes Element Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget DisplayName (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Icon ( flags : ĠInt ): ĠIcon ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMd Icons . Element . HEADER ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetName ( new Name : ĠString , Ġreason : ĠInt ): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Member In place Rename Available ( context : ĠPsi Element ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġelement Type Ġ= Ġcontext ?. node ?. elementType ĊĠĠĠĠĠĠĠ Ġreturn Ġis Rename Available Ġ&& Ġ( context Ġis ĠMd Header Text Ġ|| Ġelement Type Ġ== ĠMd Types . HEADER _ TEXT Ġ|| Ġelement Type Ġ== ĠMd Types . EOL Ġ&& Ġcontext ?. node ?. tree Prev ?. elementType Ġ== ĠMd Types . HEADER _ TEXT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" HEADER _ TEXT Ġ'" Ġ+ Ġname Ġ+ Ġ"' Ġ" Ġ+ Ġsuper . hashCode () ĊĠĠĠ Ġ} Ċ } Ċ