package Ġio . gitlab . art urb os ch . de te kt . rules . documentation Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Code S mell Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Config Ċ import Ġio . gitlab . art urb os ch . de te kt . api . De bt Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Entity Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Issue Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Rule Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Severity Ċ import Ġio . gitlab . art urb os ch . de te kt . rules . is Public Not Over ridden Ċ import Ġorg . jetbrains . kotlin . psi . Kt Named Function Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . containing Class Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . is Public Ċ Ċ /** Ċ Ġ* ĠThis Ġrule Ġwill Ġreport Ġany Ġpublic Ġfunction Ġwhich Ġdoes Ġnot Ġhave Ġthe Ġrequired Ġdocumentation . Ċ Ġ* ĠIf Ġthe Ġcodebase Ġshould Ġhave Ġdocumentation Ġon Ġall Ġpublic Ġfunctions Ġenable Ġthis Ġrule Ġto Ġenforce Ġthis . Ċ Ġ* ĠOver ridden Ġfunctions Ġare Ġexcluded Ġby Ġthis Ġrule . Ċ Ġ*/ Ċ class ĠUnd ocument ed Public Function ( config : ĠConfig Ġ= ĠConfig . empty ) Ġ: ĠRule ( config ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġissue Ġ= ĠIssue ( java Class . simple Name , ĊĠĠĠĠĠĠĠ ĠSeverity . Maint ain ability , ĊĠĠĠĠĠĠĠ Ġ" Public Ġfunctions Ġrequire Ġdocumentation .", ĠDeb t . TW ENT Y _ MIN S ) ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Named Function ( function : ĠK t Named Function ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( function . fun Keyword Ġ== Ġnull Ġ&& Ġfunction . is Local ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġif Ġ( function . doc Comment Ġ== Ġnull Ġ&& Ġfunction . shouldBe Document ed ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode S mell ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity . at Name ( function ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġfunction Ġ${ function . name As Safe Name } Ġis Ġmissing Ġdocumentation ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠK t Named Function . shouldBe Document ed () Ġ= ĊĠĠĠĠĠĠĠ Ġ( is TopLevel Ġ|| Ġcontaining Class ()?. is Public Ġ== Ġtrue ) Ġ&& Ġis Public Not Over ridden () Ċ } Ċ