/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 Ġ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 . intent ions Ċ Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . psi . Psi Comment Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi WhiteSpace Ċ import Ġorg . jetbrains . kotlin . idea . Kotlin Bundle Ċ import Ġorg . jetbrains . kotlin . lexer . Kt Tokens Ċ import Ġorg . jetbrains . kotlin . psi . Kt Psi Factory Ċ Ċ class ĠConvert Block Comment To Line Comment Int ention Ġ: ĠSelf Target ing Int ention < Psi Comment >( ĊĠĠĠ ĠPsi Comment :: class . java , ĠKotlin Bundle . message (" replace . with . end . of . line . comment ") Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġis Applicable To ( element : ĠPsi Comment , Ġcaret Offset : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġelement . is Block Comment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply To ( element : ĠPsi Comment , Ġeditor : ĠEditor ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpsi Factory Ġ= ĠK t Psi Factory ( element ) ĊĊĠĠĠĠĠĠĠ Ġval Ġprev Sibling Ġ= Ġelement . prev Sibling ĊĠĠĠĠĠĠĠ Ġval Ġindent Ġ= Ġif Ġ( prev Sibling Ġis ĠPsi WhiteSpace ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspace Ġ= Ġprev Sibling . text . reversed (). take While Ġ{ Ġit Ġ== Ġ' Ġ' Ġ|| Ġit Ġ== Ġ'\ t ' Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpsi Factory . create WhiteSpace ("\ n $ space ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpsi Factory . create NewLine () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcomments Ġ= Ġelement . text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. substring ( 2 , Ġelement . text . length Ġ- Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. split ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. reversed () ĊĠĠĠĠĠĠĠ Ġval Ġlast Index Ġ= Ġcomments . size Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġelement . parent ĊĠĠĠĠĠĠĠ Ġcomments . forEach Indexed Ġ{ Ġindex , Ġcomment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomment Text Ġ= Ġcomment . trim (). let Ġ{ Ġif Ġ( it . isEmpty ()) Ġ"// " Ġelse Ġ"// Ġ$ it " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent . add After ( psi Factory . create Comment ( comment Text ), Ġelement ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ!= Ġlast Index ) Ġparent . add After ( indent , Ġelement ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelement . delete () ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠPsi Element . is Block Comment () Ġ= Ġnode . elementType Ġ== ĠK t Tokens . BLOCK _ COMMENT Ċ