Skip to content

Commit 68811a9

Browse files
grievejiafacebook-github-bot
authored andcommitted
Break Service.Infer.infer into two pieces
Reviewed By: dkgi Differential Revision: D30196049 fbshipit-source-id: 0d8f25743acb1c7df07c90325148ba41e0745141
1 parent d7e301a commit 68811a9

File tree

4 files changed

+22
-16
lines changed

4 files changed

+22
-16
lines changed

source/command/inferCommand.ml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,10 @@ let run_infer_local
230230
(fun () ->
231231
let result =
232232
Scheduler.with_scheduler ~configuration ~f:(fun scheduler ->
233-
Infer.infer ~configuration ~scheduler ())
233+
let environment_data =
234+
Service.Infer.build_environment_data ~configuration ~scheduler ()
235+
in
236+
Infer.run_infer ~configuration ~scheduler environment_data)
234237
in
235238
if debug then
236239
Memory.report_statistics ();

source/command/newInferCommand.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,8 @@ end
209209
let run_infer_local ~configuration () =
210210
let result =
211211
Scheduler.with_scheduler ~configuration ~f:(fun scheduler ->
212-
Service.Infer.infer ~configuration ~scheduler ())
212+
let environment_data = Service.Infer.build_environment_data ~configuration ~scheduler () in
213+
Service.Infer.run_infer ~configuration ~scheduler environment_data)
213214
in
214215
if configuration.debug then
215216
Memory.report_statistics ();

source/service/infer.ml

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@ open Analysis
1010
open Pyre
1111

1212
type environment_data = {
13-
module_tracker: ModuleTracker.t;
14-
ast_environment: AstEnvironment.t;
1513
global_environment: AnnotatedGlobalEnvironment.ReadOnly.t;
16-
global_resolution: GlobalResolution.t;
1714
qualifiers: Ast.Reference.t list;
1815
}
1916

@@ -61,13 +58,13 @@ let build_environment_data
6158
in
6259
global_environment, qualifiers
6360
in
64-
let global_resolution = GlobalResolution.create global_environment in
65-
{ module_tracker; ast_environment; global_environment; global_resolution; qualifiers }
61+
{ global_environment; qualifiers }
6662

6763

68-
let run_infer ~scheduler ~configuration ~global_resolution qualifiers =
64+
let run_infer ~configuration ~scheduler { global_environment; qualifiers } =
6965
Log.info "Running inference...";
7066
let timer = Timer.start () in
67+
let global_resolution = GlobalResolution.create global_environment in
7168
let ast_environment = GlobalResolution.ast_environment global_resolution in
7269
let map _ qualifiers =
7370
let analyze_qualifier qualifier =
@@ -90,10 +87,4 @@ let run_infer ~scheduler ~configuration ~global_resolution qualifiers =
9087
()
9188
in
9289
Statistics.performance ~name:"inference" ~phase_name:"Type inference" ~timer ();
93-
results
94-
95-
96-
let infer ~configuration ~scheduler () =
97-
let { global_resolution; qualifiers; _ } = build_environment_data ~configuration ~scheduler () in
98-
run_infer ~scheduler ~configuration ~global_resolution qualifiers
99-
|> TypeInference.Data.GlobalResult.from_local_results ~global_resolution
90+
TypeInference.Data.GlobalResult.from_local_results ~global_resolution results

source/service/infer.mli

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,19 @@
55
* LICENSE file in the root directory of this source tree.
66
*)
77

8-
val infer
8+
type environment_data = {
9+
global_environment: Analysis.AnnotatedGlobalEnvironment.ReadOnly.t;
10+
qualifiers: Ast.Reference.t list;
11+
}
12+
13+
val build_environment_data
914
: configuration:Configuration.Analysis.t ->
1015
scheduler:Scheduler.t ->
1116
unit ->
17+
environment_data
18+
19+
val run_infer
20+
: configuration:Configuration.Analysis.t ->
21+
scheduler:Scheduler.t ->
22+
environment_data ->
1223
TypeInference.Data.GlobalResult.t

0 commit comments

Comments
 (0)