source/service/staticAnalysis.mli (71 lines of code) (raw):

(* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) open Analysis open Ast open Statement open Interprocedural module Cache : sig type t val load : scheduler:Scheduler.t -> configuration:Configuration.Analysis.t -> enabled:bool -> t end val type_check : scheduler:Scheduler.t -> configuration:Configuration.Analysis.t -> cache:Cache.t -> TypeEnvironment.t val parse_and_save_decorators_to_skip : inline_decorators:bool -> Configuration.Analysis.t -> unit (* Exposed for testing purposes. *) val record_and_merge_call_graph : environment:TypeEnvironment.ReadOnly.t -> call_graph:DependencyGraph.callgraph -> source:Source.t -> DependencyGraph.callgraph type found_callable = { callable: Target.callable_t; define: Define.t Node.t; is_internal: bool; } (* Exposed for testing purposes. *) val regular_and_filtered_callables : configuration:Configuration.Analysis.t -> resolution:GlobalResolution.t -> source:Source.t -> found_callable list * Target.callable_t list (* The boolean indicated whether the callable is internal or not. *) type callable_with_dependency_information = Target.callable_t * bool type initial_callables = { callables_with_dependency_information: callable_with_dependency_information list; stubs: Target.callable_t list; filtered_callables: Target.Set.t; } val fetch_initial_callables : scheduler:Scheduler.t -> configuration:Configuration.Analysis.t -> cache:Cache.t -> environment:TypeEnvironment.ReadOnly.t -> qualifiers:Reference.t list -> initial_callables val build_class_hierarchy_graph : scheduler:Scheduler.t -> cache:Cache.t -> environment:TypeEnvironment.ReadOnly.t -> qualifiers:Reference.t list -> ClassHierarchyGraph.t val build_class_intervals : ClassHierarchyGraph.t -> unit val analyze : scheduler:Scheduler.t -> analysis:AnalysisKind.abstract -> static_analysis_configuration:Configuration.StaticAnalysis.t -> cache:Cache.t -> filename_lookup:(Reference.t -> string option) -> environment:TypeEnvironment.t -> qualifiers:Reference.t list -> initial_callables:initial_callables -> initial_models:AnalysisResult.model_t Target.Map.t -> skip_overrides:Ast.Reference.Set.t -> unit -> unit