/** * Pass #35: missing-public-doc (category: maintainability) * * Detects public/exported methods and types that have no doc comment. * A "doc comment" is a Javadoc-style `/** ... *\/` block, a TypeScript/JS * JSDoc `/** ... *\/` block, a Rust `///` line comment, or a Python docstring * (`"""..."""` as the first statement of the function body). * * What counts as "public": * - Java / Kotlin: `modifiers` contains `"public"`. * - JavaScript / TypeScript: `modifiers` does NOT contain `"private"` or * `"protected"`. (JS has no access keywords; everything is implicitly public.) * - Python: method name does not start with `_`. * - Rust / Bash / other: skipped (doc conventions differ too much). * * Types (classes, interfaces) are always checked — they are extracted only when * they are top-level declarations and therefore always "public" in the IR sense. * * Test files are excluded: if the file path contains test/spec patterns, the * pass emits no findings (doc comments in test helpers are low value). */ import type { MethodInfo, TypeInfo } from '../../types/index.js'; import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js'; export interface MissingPublicDocPassResult { missingDocMethods: Array<{ type: TypeInfo; method: MethodInfo; }>; missingDocTypes: TypeInfo[]; } export declare class MissingPublicDocPass implements AnalysisPass { readonly name = "missing-public-doc"; readonly category: "maintainability"; run(ctx: PassContext): MissingPublicDocPassResult; } //# sourceMappingURL=missing-public-doc-pass.d.ts.map