import { Comment, Type, Case, Joinpoint, TypedefDecl, StorageClass, FunctionJp, Vardecl, RecordJp, EnumDecl, Switch, Param, Varref } from "@specs-feup/clava/api/Joinpoints.js"; /** * Checks if the comment is an inline comment * @param $comment - The comment to check * @returns Returns true if it's an inline comment, otherwise returns false */ export declare function isInlineComment($comment: Comment): boolean; /** * Retrieves all comments associated with a given joinpoint * @param $jp - The joinpoint to retrieve comments from * @returns Array of comments */ export declare function getComments($jp: Joinpoint): Comment[]; /** * Checks if a given join point is a comment statement * * @param $jp The join point to check * @returns Returns true if the given join point is a comment statement, otherwise false */ export declare function isCommentStmt($jp: Joinpoint): boolean; export declare function getParamReferences($param: Param, $startingPoint: Joinpoint): Varref[]; /** * Checks if a storage class has external linkage * @param $class - The storage class to check * @returns Returns true if the class has external linkage, otherwise returns false */ export declare function hasExternalLinkage($class: StorageClass): $class is StorageClass.AUTO | StorageClass.NONE | StorageClass.PRIVATE_EXTERN | StorageClass.REGISTER; /** * Retrieves all variables and functions that can be externed from the files, i.e., * elements with storage classes that are not `STATIC` or `EXTERN` * @returns Array of functions and variables that can be externed */ export declare function getExternals(): (FunctionJp | Vardecl)[]; /** * Checks if the provided node has a defined type * @param $jp The joinpoint to check its type * @returns true if the joinpoint has a defined type, otherwise false */ export declare function hasDefinedType($jp: Joinpoint): boolean; /** * Retrieves the base type of the provided joinpoint. * @param $jp The joinpoint to retrieve its type * @returns The base type of the joinpoint, or undefined if the type is not defined */ export declare function getBaseType($jp: Joinpoint): Type | undefined; /** * Retrieves the typedef declaration for the provided joinpoint, if available * @param $jp The joinpoint to analyze * @returns The typedef declaration if found, or undefined if not */ export declare function getTypeDecl($jp: Joinpoint): TypedefDecl | undefined; /** * Checks if the provided joinpoint declares a type (typedef) * @param $jp The joinpoint to check * @returns Returns true if the joinpoint declares a typedef, otherwise false */ export declare function hasTypeDecl($jp: Joinpoint): boolean; /** * Retrieves all joinpoints with a defined type * @returns Array of joinpoints with a defined type */ export declare function getTypedJps(startingPoint?: Joinpoint): Joinpoint[]; /** * Checks if a given joinpoint uses the specified tag declaration * @param $jp The joinpoint to analyze * @param tag The tag to check against * @returns Returns true if the joinpoint uses the given tag, false otherwise */ export declare function isTagUsed($jp: Joinpoint, tag: RecordJp | EnumDecl): boolean; /** * Retrieves all joinpoints that use the specified tag declaration * * @param tag The tag to search for in the joinpoints * @returns Array of joinpoints that use the specified tag declaration */ export declare function getTagUses(tag: RecordJp | EnumDecl): Joinpoint[]; /** * Retrieves the last statement of the given case * @param $jp - The case to retrieve the last statement from * @returns The last statement of the case or undefined if there are no statements or it has a consecutive case. */ export declare function getLastStmtOfCase($jp: Case): Joinpoint | undefined; /** * Retrieves the number of switch clauses with instructions in the provided switch statement * @param $jp - The switch statement to analyze * @returns The number of switch clauses with instructions */ export declare function getNumOfSwitchClauses($jp: Switch): number; /** * Checks if the provided switch statement has a Boolean condition * @param switchStmt - The switch statement to check * @returns * Returns true if the switch statement has a Boolean condition, otherwise false */ export declare function switchHasBooleanCondition(switchStmt: Switch): boolean; /** * Checks if the provided switch statement contains any conditional break * @param switchStmt - The switch statement to analyze * @returns Returns true if the switch statement contains a conditional break, otherwise false */ export declare function switchHasConditionalBreak(switchStmt: Switch): boolean; //# sourceMappingURL=utils.d.ts.map