package Ġcom . vk . k php storm . helpers Ċ Ċ import Ġcom . intellij . openapi . editor . Caret State Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . util . Psi Tree Util Ċ import Ġcom . intellij . psi . util . elementType Ċ import Ġcom . jetbrains . php . lang . documentation . php doc . psi . Php Doc Comment Ċ import Ġcom . jetbrains . php . lang . parser . Php Element Types Ċ import Ġcom . jetbrains . php . lang . psi . elements . Field Ċ import Ġcom . jetbrains . php . lang . psi . elements . Function Ċ import Ġcom . jetbrains . php . lang . psi . elements . Php Class Ċ import Ġcom . jetbrains . php . lang . psi . elements . impl . StringLiteral Expression Impl Ċ Ċ /** Ċ Ġ* ĠHaving Ġa Ġchild Ġinside Ġdoc Ġcomment Ġ( this ), Ġtraverse Ġpsi Ġtree Ġup Ġuntil Ġthe Ġdoc Ġcomment Ċ Ġ*/ Ċ inline Ġval ĠPsi Element . parent Doc Comment : ĠPhp Doc Comment ? ĊĠĠĠ Ġget () Ġ= ĠPsi Tree Util . getParent OfType ( this , ĠPhp Doc Comment :: class . java ) ĊĊ Ċ /** Ċ Ġ* Ġ' owner ' Ġof Ġphp doc ĠâĢĶ Ġfunction / field / class , Ġabove Ġwhich Ġthis Ġphp doc Ġis Ġwritten Ċ Ġ* ĠNote ! ĠOwner Ġis Ġcached Ġin ĠPhp Doc Comment Impl , Ġupdated Ġonly Ġwhen Ġediting Ġthe Ġcomment . Ċ Ġ*/ Ċ fun ĠPhp Doc Comment . getOwner Smart (): ĠPsi Element ? Ġ= ĊĠĠĠĠĠĠĠ Ġthis . owner . take If Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġis ĠPhp Class ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġabove Ġ' class ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġit Ġis ĠFunction ĠĠĠĠĠĠ Ġ// Ġabove Ġfunction Ġor Ġclass Ġmethod ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġit Ġis ĠField ĠĠĠĠĠĠĠĠĠ Ġ// Ġabove Ġclass Ġconst Ġ/ Ġvar Ġ/ Ġstatic Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġphp doc Ġis Ġabove Ġany Ġstatement Ġ/ Ġother Ġphp doc ĠâĢĶ Ġassume Ġnothing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ( this Ġis Ġtypical Ġwhen Ġwriting Ġnew Ġcode : Ġat Ġfirst Ġphp doc , Ġthan Ġowner Ġbelow , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġand Ġat Ġthis Ġmoment Ġowner Ġis Ġonly Ġkept Ġin Ġmind ) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ fun Ġconvert ArrayIndex Psi ToString Index Key ( index Psi : ĠPsi Element ?): ĠString ? Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Psi Ġ== Ġnull ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Psi . elementType Ġ== ĠPhp Element Types . NUMBER Ġ-> Ġindex Psi . text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Psi Ġis ĠString Literal Expression Impl ĠĠĠĠĠĠĠ Ġ-> Ġindex Psi . contents ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ fun Ġset Selection In Editor ( editor : ĠEditor , Ġelement To Select : ĠPsi Element ) Ġ{ ĊĠĠĠ Ġval Ġoffset Ġ= Ġelement To Select . text Offset ĊĠĠĠ Ġeditor . caret Model . care ts And Selections Ġ= ĠlistOf ( Caret State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . offset To Logical Position ( offset ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . offset To Logical Position ( offset ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . offset To Logical Position ( offset Ġ+ Ġelement To Select . text Length ) ĊĠĠĠ Ġ)) Ċ } Ċ