Module ASTLanguage.ALIssues

val issue_log : Absint.IssueLog.t IStdlib.IStd.ref
type linter = {
condition : CTLTypes.t;
issue_desc : CIssue.t;
whitelist_paths : ALVar.t list;
blacklist_paths : 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 * ALVar.t list * 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 = 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 -> CLintersContext.context -> Ctl_parser_types.ast_node -> unit

Run frontend checkers on an AST node

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