/* Ċ Ġ* Ġ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 . formatter Ċ Ċ import Ġcom . intellij . formatting .* Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . psi . Psi File Ċ Ċ class ĠKotlin Formatting Model Builder Ġ: ĠFormat ting Model Builder Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate Model ( formatting Context : ĠFormat ting Context ): ĠFormat ting Model Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= Ġformatting Context . code Style Settings ĊĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġformatting Context . psi Element ĊĠĠĠĠĠĠĠ Ġval Ġcontaining File Ġ= Ġformatting Context . containing File ĊĠĠĠĠĠĠĠ Ġval Ġblock Ġ= ĠKotlin Block ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontaining File . node , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNode Alignment Strategy . get Null Strategy (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInd ent . get None Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrap Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Spacing Builder ( settings , ĠKotlin Spacing Builder Util Impl ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġis ĠPsi File ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcollect Changes Model Ġ= Ġcreate Collect Formatting Changes Model ( element , Ġblock ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( collect Changes Model Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcollect Changes Model ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠFormat ting Model Provider . create Formatting Model For Psi File ( containing File , Ġblock , Ġsettings ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Range A ffect ing Indent ( psi File : ĠPsi File , Ġi : ĠInt , Ġast Node : ĠAST Node ): ĠText Range ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ