Module ASTLanguage__ALIssues

val issue_log : IR.IssueLog.t IStdlib.IStd.ref
type linter = {
condition : ASTLanguage.CTLTypes.t;
issue_desc : ASTLanguage.CIssue.issue_desc;
whitelist_paths : ASTLanguage.ALVar.t list;
blacklist_paths : ASTLanguage.ALVar.t list;
}
val filter_parsed_linters : linter list -> IBase.SourceFile.t -> linter list
val pp_linters : Stdlib.Format.formatter -> linter list -> unit
type macros_map = (bool * ASTLanguage.ALVar.t list * ASTLanguage.CTLTypes.t) ASTLanguage.ALVar.FormulaIdMap.t

map used to expand macro. It maps a formula id to a triple (visited, parameters, definition). Visited is used during the expansion phase to understand if the formula was already expanded and, if yes we have a cyclic definifion

type paths_map = ASTLanguage.ALVar.t list ASTLanguage.ALVar.VarMap.t

Map a path name to a list of paths.

val invoke_set_of_checkers_on_node : linter list -> ASTLanguage.CLintersContext.context -> ASTLanguage.Ctl_parser_types.ast_node -> unit

Run frontend checkers on an AST node

val build_macros_map : ASTLanguage.CTL.clause list -> macros_map
val build_paths_map : (string * ASTLanguage.ALVar.alexp list) list -> paths_map
val expand_checkers : macros_map -> paths_map -> ASTLanguage.CTL.ctl_checker list -> ASTLanguage.CTL.ctl_checker list
val create_parsed_linters : string -> ASTLanguage.CTL.ctl_checker list -> linter list
val remove_new_lines_and_whitespace : string -> string