package Ġcom . github . sh y iko . kt lint . rule set . standard Ċ Ċ import Ġcom . github . sh y iko . kt lint . core . Kt Lint Ċ import Ġcom . github . sh y iko . kt lint . core . Rule Ċ import Ġorg . jetbrains . kotlin . com . intellij . lang . AST Node Ċ import Ġorg . jetbrains . kotlin . com . intellij . psi . tree . I ElementType Ċ import Ġorg . jetbrains . kotlin . lexer . Kt Tokens Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . get Prev Sibling Ign oring Whitespace And Comments Ċ import Ġorg . jetbrains . kotlin . psi . stubs . elements . Kt Stub Element Types Ċ import Ġjava . nio . file . Paths Ċ Ċ /** Ċ Ġ* ĠIf Ġthere Ġis Ġonly Ġone Ġtop Ġlevel Ġclass / object / type alias Ġin Ġa Ġgiven Ġfile , Ġthen Ġits Ġname Ġshould Ġmatch Ġthe Ġfile 's Ġname . Ċ Ġ*/ Ċ class ĠFilename Rule Ġ: ĠRule (" filename "), ĠRule . Modifier . Restrict To Root Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġignore Set Ġ= Ġset Of < I ElementType >( ĊĠĠĠĠĠĠĠ ĠK t Stub Element Types . FILE _ AN NOT ATION _ LIST , ĊĠĠĠĠĠĠĠ ĠK t Stub Element Types . PACKAGE _ DIRECT IVE , ĊĠĠĠĠĠĠĠ ĠK t Stub Element Types . IMPORT _ LIST , ĊĠĠĠĠĠĠĠ ĠK t Tokens . WHITE _ SPACE , ĊĠĠĠĠĠĠĠ ĠK t Tokens . EOL _ COMMENT , ĊĠĠĠĠĠĠĠ ĠK t Tokens . BLOCK _ COMMENT , ĊĠĠĠĠĠĠĠ ĠK t Tokens . DOC _ COMMENT , ĊĠĠĠĠĠĠĠ ĠK t Tokens . SHE B ANG _ COMMENT ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( ĊĠĠĠĠĠĠĠ Ġnode : ĠAST Node , ĊĠĠĠĠĠĠĠ Ġauto Correct : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġemit : Ġ( offset : ĠInt , ĠerrorMessage : ĠString , Ġcan Be Auto Correct ed : ĠBoolean ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠfilePath Ġ= Ġnode . getUser Data ( Kt Lint . FILE _ PATH _ USER _ DATA _ KEY ) ĊĠĠĠĠĠĠĠ Ġif Ġ( filePath ?. endsWith (". kt ") Ġ!= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġignore Ġall Ġnon Ġ". kt " Ġfiles Ġ( including Ġ". k ts ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġtype : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar ĠclassName : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġnode . getChildren ( null )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( el . elementType Ġ== ĠK t Stub Element Types . CLASS Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġel . elementType Ġ== ĠK t Stub Element Types . OBJECT _ DECL AR ATION Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġel . elementType Ġ== ĠK t Stub Element Types . TYPE ALIAS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( className Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmore Ġthan Ġone Ġclass / object / type alias Ġpresent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġel . find Child ByType ( Kt Tokens . IDENTIFIER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġid ?. psi ?. get Prev Sibling Ign oring Whitespace And Comments ( false )?. text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġid ?. text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! ignore Set . contains ( el . elementType )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġhttps :// github . com / android / android - k tx / blob / master / src / main / java / android x / core / graphics / Path . kt Ġcase ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( className Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= ĠPaths . get ( filePath ). fileName . toString (). substring Before (".") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name Ġ!= Ġ" package " Ġ&& Ġname Ġ!= ĠclassName ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( 0 , Ġ"$ type Ġ$ className Ġshould Ġbe Ġdeclared Ġin Ġa Ġfile Ġnamed Ġ$ className . kt ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ