import { FunctionJp, Joinpoint, Vardecl, Varref } from "@specs-feup/clava/api/Joinpoints.js"; /** * Retrieves all variable references qualified as "volatile" starting from the given joinpoint * @param $jp Starting joinpoint * @returns Array of variable references qualified as volatile */ export declare function getVolatileVarRefs($jp: Joinpoint): Varref[]; /** * Retrieves all external references of the given variable * * @param $varDecl variable to match by name. * @returns Array of external references with the same name as the given variable. */ export declare function findExternalVarRefs($varDecl: Vardecl): Vardecl[]; /** * Identifies functions in the same file that reference the specified variable declaration * * @param $jp The variable declaration * @returns An array of functions that reference the variable */ export declare function findReferencingFunctions($jp: Vardecl): FunctionJp[]; /** * Finds duplicate definitions of the given variable declaration among external linkage variables * * @param $jp The variable declaration to evaluate * @returns An array of variable declarations representing duplicates */ export declare function findDuplicateVarDefinition($jp: Vardecl): Vardecl[]; /** * Checks whether two joinpoints represent the same variable declaration by comparing identifier name, type, and external linkage * * @param $jp1 The first join point * @param $jp2 The second join point * @returns True if both are equivalent external variable declarations, false otherwise */ export declare function isSameVarDecl($jp1: Joinpoint, $jp2: Joinpoint): boolean; /** * Checks if the given variable has multiple external linkage declarations across different files * * @param $jp The variable declaration to evaluate * @returns True if multiple external declarations exist, false otherwise */ export declare function hasMultipleExternalLinkDeclarations($jp: Vardecl): boolean; /** * Checks whether the given variable declaration is used in its file or in files that include its header. * * @param varDecl The variable declaration to check * @returns True if the variable is referenced, false otherwise */ export declare function isVarUsed(varDecl: Vardecl): boolean; //# sourceMappingURL=VarUtils.d.ts.map