import { Joinpoint } from "@specs-feup/clava/api/Joinpoints.js"; import MISRARule from "../../MISRARule.js"; import { AnalysisType, MISRATransformationReport } from "../../MISRA.js"; /** * MISRA-C Rule 8.7: Functions and objects should not be defined with external linkage if they are referenced in only one translation unit */ export default class Rule_8_7_RestrictExternalLinkage extends MISRARule { #private; /** * Scope of analysis */ readonly analysisType = AnalysisType.SYSTEM; /** * @returns Rule identifier according to MISRA-C:2012 */ get name(): string; /** * * @param $jp - Joinpoint to analyze * @param logErrors - [logErrors=false] - Whether to log errors if a violation is detected * @returns Returns true if the joinpoint violates the rule, false otherwise */ match($jp: Joinpoint, logErrors?: boolean): boolean; /** * * @param $jp - Joinpoint to transform * @returns Report detailing the transformation result */ apply($jp: Joinpoint): MISRATransformationReport; /** * Removes unused external declarations (`extern`) of the current identifier found in other source files. */ private removeExternalDeclarations; } //# sourceMappingURL=Rule_8_7_RestrictExternalLinkage.d.ts.map