import { LaraJoinPoint } from "@specs-feup/lara/api/LaraJoinPoint.js"; import MISRAPass from "../MISRAPass.js"; import { PreprocessingReqs } from "../MISRAReporter.js"; import { Expression, Type } from "@specs-feup/clava/api/Joinpoints.js"; export declare enum EssentialTypes { UNSIGNED = "unsigned", CHAR = "char", SIGNED = "signed", ENUM = "enum", FLOAT = "float", BOOL = "bool", UNKOWN = "unkown" } export interface EssentialType { category: EssentialTypes; enumName?: string; } export default class S10_EssentialTypePass extends MISRAPass { protected _preprocessingReqs: PreprocessingReqs[]; initRuleMapper(): void; matchJoinpoint($jp: LaraJoinPoint): boolean; static getEssentialType(bType: Type): EssentialType; static isInteger($et: EssentialTypes): boolean; static getExprEssentialType($expr: Expression): EssentialType; private restrictOperand; private restrictOperandList; private r10_1_appropriateEssentialOperands; private r10_2_appropriateCharOperands; private static isAssignable; private r10_3_noInvalidAssignments; private static checkBoolSource; private r10_5_noInvalidCasts; private static isCompositeBinaryExpr; private static isCompositeExpr; private static compositeExprWidth; private static transformBinaryOp; private static transformTernaryOp; private r10_6_noWiderCompositeExprAssignments; private r10_8_noWiderCompositeCasts; protected _name: string; } //# sourceMappingURL=S10_EssentialTypePass.d.ts.map