package Ġcom . p interest . kt lint . rule set . standard Ċ Ċ import Ġcom . p interest . kt lint . core . Rule Ċ import Ġcom . p interest . kt lint . core . ast . ElementType . AN NOT ATION Ċ import Ġcom . p interest . kt lint . core . ast . ElementType . AN NOT ATION _ ENTRY Ċ import Ġcom . p interest . kt lint . core . ast . is Part Of Ċ import Ġcom . p interest . kt lint . core . ast . is Part Of Comment Ċ import Ġcom . p interest . kt lint . core . ast . is Part Of String Ċ import Ġcom . p interest . kt lint . core . ast . is WhiteSpace With New line Ċ import Ġcom . p interest . kt lint . core . ast . prev Leaf Ċ import Ġcom . p interest . kt lint . core . ast . upsert Whitespace After Me Ċ import Ġcom . p interest . kt lint . core . ast . upsert Whitespace Before Me Ċ import Ġorg . jetbrains . kotlin . com . intellij . lang . AST Node Ċ import Ġorg . jetbrains . kotlin . com . intellij . psi . Psi WhiteSpace Ċ import Ġorg . jetbrains . kotlin . com . intellij . psi . impl . source . tree . Leaf Psi Element Ċ import Ġorg . jetbrains . kotlin . psi . Kt Class Or Object Ċ import Ġorg . jetbrains . kotlin . psi . Kt Constructor Ċ import Ġorg . jetbrains . kotlin . psi . Kt Type Constraint Ċ import Ġorg . jetbrains . kotlin . psi . Kt Type Parameter List Ċ Ċ class ĠSp acing Around Colon Rule Ġ: ĠRule (" colon - spacing ") Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( ĊĠĠĠĠĠĠĠ Ġnode : ĠAST Node , ĊĠĠĠĠĠĠĠ Ġauto Correct : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġemit : Ġ( offset : ĠInt , ĠerrorMessage : ĠString , Ġcan Be Auto Correct ed : ĠBoolean ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( node Ġis ĠLeaf Psi Element Ġ&& Ġnode . text Matches (": ") Ġ&& Ġ! node . is Part Of String () Ġ&& Ġ! node . is Part Of Comment ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node . is Part Of ( AN NOT ATION ) Ġ|| Ġnode . is Part Of ( AN NOT ATION _ ENTRY )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtodo : Ġenforce Ġ" no Ġspacing " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġremove Spacing Before Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . parent Ġ! is ĠK t Class Or Object Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . parent Ġ! is ĠK t Constructor < *> Ġ&& Ġ// Ġconstructor Ġ: Ġthis / super ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . parent Ġ! is ĠK t Type Constraint Ġ&& Ġ// Ġwhere ĠT Ġ: ĠS ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . parent ?. parent Ġ! is ĠK t Type Parameter List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprev Leaf Ġ= Ġnode . prev Leaf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( prev Leaf Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprev Leaf . is WhiteSpace With New line () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFIXME : Ġre locate Ġ: Ġso Ġthat Ġit Ġwould Ġbe Ġin Ġfront Ġof Ġcomment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ( see ĠSp acing Around Colon Rule Test . test Format EOF Ġ& ĠChain Wr apping Rule ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprev Leaf . prev Leaf ()?. is Part Of Comment () Ġ!= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( prev Leaf . start Offset , Ġ" Unexpected Ġnewline Ġbefore Ġ\ ": \"", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġprev Leaf . text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( auto Correct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( remove Spacing Before ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprev Leaf . tree Parent . removeChild ( prev Leaf ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( prev Leaf Ġas ĠLeaf Psi Element ). raw Replace With Text (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . upsert Whitespace After Me ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node . prev Sibling Ġis ĠPsi WhiteSpace Ġ&& Ġremove Spacing Before ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( node . start Offset , Ġ" Unexpected Ġspacing Ġbefore Ġ\ ": \"", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( auto Correct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . prev Sibling . node . tree Parent . removeChild ( node . prev Sibling . node ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmissing Spacing Before Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . prev Sibling Ġ! is ĠPsi WhiteSpace Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . parent Ġis ĠK t Class Or Object Ġ|| Ġnode . parent Ġis ĠK t Constructor < *> Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . parent Ġis ĠK t Type Constraint Ġ|| Ġnode . parent . parent Ġis ĠK t Type Parameter List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmissing Spacing After Ġ= Ġnode . next Sibling Ġ! is ĠPsi WhiteSpace ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmissing Spacing Before Ġ&& Ġmissing Spacing After Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( node . start Offset , Ġ" Missing Ġspacing Ġaround Ġ\ ": \"", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( auto Correct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . upsert Whitespace Before Me (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . upsert Whitespace After Me (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmissing Spacing Before Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( node . start Offset , Ġ" Missing Ġspacing Ġbefore Ġ\ ": \"", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( auto Correct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . upsert Whitespace Before Me (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmissing Spacing After Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( node . start Offset Ġ+ Ġ 1 , Ġ" Missing Ġspacing Ġafter Ġ\ ": \"", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( auto Correct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . upsert Whitespace After Me (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ