`type linter````=` `{`

`condition : CTL.t;`
`issue_desc : CIssue.issue_desc;`
`def_file : string option;`
`whitelist_paths : ALVar.t list;`
`blacklist_paths : ALVar.t list;`

`}```
`val filter_parsed_linters : linter list ‑> InferBase.SourceFile.t ‑> linter list`
`val pp_linters : Format.formatter ‑> linter list ‑> unit`
`type macros_map``= (bool * ALVar.t list * CTL.t) InferModules.ALVar.FormulaIdMap.t```
`type paths_map``= ALVar.t list InferModules.ALVar.VarMap.t```
`val parsed_linters : linter list InferStdlib.IStd.ref`
`val invoke_set_of_checkers_on_node : CLintersContext.context ‑> Ctl_parser_types.ast_node ‑> unit`
`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`
`val fill_issue_desc_info_and_log : CLintersContext.context ‑> Ctl_parser_types.ast_node ‑> CIssue.issue_desc ‑> string option ‑> InferBase.Location.t ‑> unit`