/* Ċ Ġ* Ġ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 . openapi . progress . Progress Indicator Provider Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . jetbrains . kotlin . idea . util . add Trailing Comma Is Allowed For This Ċ import Ġorg . jetbrains . kotlin . psi .* Ċ Ċ abstract Ġclass ĠTr ailing Comma Visitor Ġ: ĠK t Tree Visitor Void () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġvisit Parameter List ( list : ĠK t Parameter List ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit Parameter List ( list ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Value ArgumentList ( list : ĠK t Value ArgumentList ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit Value ArgumentList ( list ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Array Access Expression ( expression : ĠK t Array Access Expression ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit Array Access Expression ( expression ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( expression . indices Node ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Type Parameter List ( list : ĠK t Type Parameter List ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit Type Parameter List ( list ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Type ArgumentList ( type ArgumentList : ĠK t Type ArgumentList ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit Type ArgumentList ( type ArgumentList ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( type ArgumentList ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Collection Literal Expression ( expression : ĠK t Collection Literal Expression ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit Collection Literal Expression ( expression ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( expression ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit When Entry ( jet When Entry : ĠK t When Entry ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit When Entry ( jet When Entry ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( jet When Entry ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Dest ruct uring Declaration ( destruct uring Declaration : ĠK t Dest ruct uring Declaration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visit Dest ruct uring Declaration ( destruct uring Declaration ) ĊĠĠĠĠĠĠĠ Ġrun Process If Allowed ( destruct uring Declaration ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Element ( element : ĠPsi Element ) Ġ{ ĊĠĠĠĠĠĠĠ ĠProgress Indicator Provider . check Canceled () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( re cursively ) Ġsuper . visit Element ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrun Process If Allowed ( element : ĠK t Element ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element . add Trailing Comma Is Allowed For This ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocess ( element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġprocess ( comma Owner : ĠK t Element ) ĊĊĠĠĠ Ġprotected Ġopen Ġval Ġrecursively : ĠBoolean Ġ= Ġtrue Ċ }