/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . idea . util Ċ Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Element Visitor Ċ import Ġcom . intellij . psi . impl . source . tree . Leaf Psi Element Ċ import Ġcom . intellij . psi . util . parent OfType Ċ import Ġorg . jetbrains . kotlin . cfg . pseudo code . containing Declaration For Pseudo code Ċ import Ġorg . jetbrains . kotlin . psi . Kt Element Ċ import Ġorg . jetbrains . kotlin . psi . Kt Import Directive Ċ import Ġorg . jetbrains . kotlin . psi . Kt Package Directive Ċ Ċ fun ĠK t Element . getElement Text In Context (): ĠString Ġ{ ĊĠĠĠ Ġval Ġcontext Ġ= Ġparent OfType < Kt Import Directive >() ĊĠĠĠĠĠĠĠ Ġ?: Ġparent OfType < Kt Package Directive >() ĊĠĠĠĠĠĠĠ Ġ?: Ġcontaining Declaration For Pseudo code ĊĠĠĠĠĠĠĠ Ġ?: Ġcontaining Kt File ĊĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĠĠĠ Ġcontext . accept ( object Ġ: ĠPsi Element Visitor () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvisit Element ( element : ĠPsi Element ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( element Ġ=== Ġthis @ getElement Text In Context ) Ġbuilder . append ("< $ ELEMENT _ TAG >") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( element Ġis ĠLeaf Psi Element ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( element . text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . accept Children ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( element Ġ=== Ġthis @ getElement Text In Context ) Ġbuilder . append ("</ $ ELEMENT _ TAG >") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠĠĠ Ġreturn Ġbuilder . toString (). trim Indent (). trim () Ċ } Ċ private Ġconst Ġval ĠELEMENT _ TAG Ġ= Ġ" ELEMENT " ĊĊ