From 5b20140e22a31e094bb607430ec47750f79de1f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Szab=C3=B3?= Date: Sat, 28 Dec 2024 14:48:58 +0100 Subject: [PATCH] Update OCaml stubs The OSS OCaml stubs under src/stubs have become out of sync with the code referencing them. Update the stubs to match. --- hphp/hack/src/client/dune | 1 + hphp/hack/src/stubs/declarationsRewriter.ml | 1 + hphp/hack/src/stubs/dune | 28 +++++++++++-------- hphp/hack/src/stubs/hh_distc_ffi.ml | 23 +++++++++++++++ hphp/hack/src/stubs/linttool.ml | 2 ++ .../hack/src/stubs/logging/hackEventLogger.ml | 8 +++++- hphp/hack/src/stubs/remote_old_decls_ffi.ml | 10 +++++++ hphp/hack/src/stubs/sandcastle.ml | 1 + hphp/hack/src/stubs/saved_state_loader.ml | 20 +++++++------ hphp/hack/src/stubs/state_loader_futures.ml | 3 +- hphp/hack/src/stubs/state_loader_lwt.ml | 20 +++++++++---- hphp/hack/src/watchman/dune | 2 +- 12 files changed, 89 insertions(+), 30 deletions(-) create mode 100644 hphp/hack/src/stubs/declarationsRewriter.ml create mode 100644 hphp/hack/src/stubs/hh_distc_ffi.ml create mode 100644 hphp/hack/src/stubs/linttool.ml create mode 100644 hphp/hack/src/stubs/remote_old_decls_ffi.ml create mode 100644 hphp/hack/src/stubs/sandcastle.ml diff --git a/hphp/hack/src/client/dune b/hphp/hack/src/client/dune index da04b54135cf4b..76a7959d5782f4 100644 --- a/hphp/hack/src/client/dune +++ b/hphp/hack/src/client/dune @@ -28,6 +28,7 @@ pos rage redeclarations + sandcastle server server_command_types server_monitor diff --git a/hphp/hack/src/stubs/declarationsRewriter.ml b/hphp/hack/src/stubs/declarationsRewriter.ml new file mode 100644 index 00000000000000..526c4ce5902a5e --- /dev/null +++ b/hphp/hack/src/stubs/declarationsRewriter.ml @@ -0,0 +1 @@ +let start _ = () diff --git a/hphp/hack/src/stubs/dune b/hphp/hack/src/stubs/dune index d1f794aacfb643..447bb46f8982e9 100644 --- a/hphp/hack/src/stubs/dune +++ b/hphp/hack/src/stubs/dune @@ -65,16 +65,11 @@ (modules saved_state_loader state_loader_futures state_loader_lwt) (libraries hg + server_env typechecker_options) (preprocess (pps lwt_ppx ppx_deriving.std))) - ; this stub file is used by both buck2 and dune -(rule - (target remote_old_decls_ffi.ml) - (action - (copy# ../facebook/remote_old_decls/stubs/remote_old_decls_ffi.ml remote_old_decls_ffi.ml))) - (library (name remote_old_decls_ffi) (wrapped false) @@ -84,12 +79,6 @@ (preprocess (pps lwt_ppx ppx_deriving.std))) -; this stub file is used by both buck2 and dune -(rule - (target hh_distc_ffi.ml) - (action - (copy# ../facebook/hh_distc/check_ffi/stubs/hh_distc_ffi.ml hh_distc_ffi.ml))) - (library (name hh_distc_ffi) (wrapped false) @@ -169,6 +158,21 @@ (preprocess (pps lwt_ppx ppx_deriving.std))) +(library + (name redeclarations) + (wrapped false) + (modules declarationsRewriter)) + +(library + (name linttool) + (wrapped false) + (modules linttool)) + + (library + (name sandcastle) + (wrapped false) + (modules sandcastle)) + (library (name startup_initializer_stubs) (wrapped false) diff --git a/hphp/hack/src/stubs/hh_distc_ffi.ml b/hphp/hack/src/stubs/hh_distc_ffi.ml new file mode 100644 index 00000000000000..37ff10aa451257 --- /dev/null +++ b/hphp/hack/src/stubs/hh_distc_ffi.ml @@ -0,0 +1,23 @@ +(* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the "hack" directory of this source tree. + * + *) + +type handle + +let spawn ~root:_ ~ss_dir:_ ~hhdg_path:_ _ = failwith "start not implemented" + +let join _ = failwith "join_handle not implemented" + +let cancel _ = failwith "cancel not implemented" + +let is_finished _ = failwith "is_finished not implemented" + +let get_fd _ = failwith "get_fd not implemented" + +let get_re_session_id _ = failwith "get_re_session_id not implemented" + +let recv _ = failwith "recv not implemented" diff --git a/hphp/hack/src/stubs/linttool.ml b/hphp/hack/src/stubs/linttool.ml new file mode 100644 index 00000000000000..70d0128ddee24f --- /dev/null +++ b/hphp/hack/src/stubs/linttool.ml @@ -0,0 +1,2 @@ + +let run _ ~severity:_ = () diff --git a/hphp/hack/src/stubs/logging/hackEventLogger.ml b/hphp/hack/src/stubs/logging/hackEventLogger.ml index 5974c56d80b88b..bcbd8d5f1ef0a8 100644 --- a/hphp/hack/src/stubs/logging/hackEventLogger.ml +++ b/hphp/hack/src/stubs/logging/hackEventLogger.ml @@ -27,6 +27,8 @@ let set_changed_mergebase _ = () let set_hhconfig_version _ = () +let set_mergebase_globalrev _ = () + let set_rollout_group _ = () let set_rollout_flags _ = () @@ -105,7 +107,7 @@ let type_check_dirty ~start_t:_ ~dirty_count:_ ~recheck_count:_ = () let lock_stolen _ = () -let client_init ~init_id:_ ~from:_ ~custom_columns:_ _ = () +let client_init ~init_id:_ ~from:_ ~is_interactive:_ ~custom_columns:_ _ = () let serverless_ide_init ~init_id:_ = () @@ -571,3 +573,7 @@ module Fanouts = struct let log ~changes_cardinal:_ ~fanout_cardinal:_ ~max_class_fanout_cardinal:_ = () end + +module TypingErrors = struct + let log_errors ~type_check_end_id:_ ~data:_ = () +end diff --git a/hphp/hack/src/stubs/remote_old_decls_ffi.ml b/hphp/hack/src/stubs/remote_old_decls_ffi.ml new file mode 100644 index 00000000000000..d45c6cc989573d --- /dev/null +++ b/hphp/hack/src/stubs/remote_old_decls_ffi.ml @@ -0,0 +1,10 @@ +(* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the "hack" directory of this source tree. + * + *) + +let get_decls_via_file_hashes _ _ = + failwith "get_decls_via_file_hashes not implemented" diff --git a/hphp/hack/src/stubs/sandcastle.ml b/hphp/hack/src/stubs/sandcastle.ml new file mode 100644 index 00000000000000..75c448d076d60f --- /dev/null +++ b/hphp/hack/src/stubs/sandcastle.ml @@ -0,0 +1 @@ +let is_sandcastle(): bool = false diff --git a/hphp/hack/src/stubs/saved_state_loader.ml b/hphp/hack/src/stubs/saved_state_loader.ml index 46cc932b66d3b6..b733f9d406b5b7 100644 --- a/hphp/hack/src/stubs/saved_state_loader.ml +++ b/hphp/hack/src/stubs/saved_state_loader.ml @@ -35,7 +35,9 @@ module Naming_and_dep_table_info = struct naming_table_path: Path.t; naming_sqlite_table_path: Path.t; dep_table_path: Path.t; + compressed_dep_table_path: Path.t; errors_path: Path.t; + warning_hashes_path: Path.t; } type dirty_files = { @@ -44,11 +46,12 @@ module Naming_and_dep_table_info = struct } type additional_info = { - mergebase_global_rev: Hg.global_rev option; dirty_files_promise: dirty_files Future.t; - saved_state_distance: int option; - saved_state_age: int option; + saved_state_revs_info: ServerEnv.saved_state_revs_info; } + + let additional_info_of_yojson _ : additional_info = failwith "Not implemented" + let yojson_of_additional_info _ = failwith "Not implemented" end module Naming_table_info = struct @@ -80,13 +83,14 @@ include files other than Hack files, so the caller should filter the given list as necessary. *) type changed_files = Relative_path.t list -type ('main_artifacts, 'additional_info) load_result = { - main_artifacts: 'main_artifacts; - additional_info: 'additional_info; +let changed_files_of_yojson _ = failwith "Not implemented" +let yojson_of_changed_files _ = failwith "Not implemented" + +type load_result = { + main_artifacts: Naming_and_dep_table_info.main_artifacts; + additional_info: Naming_and_dep_table_info.additional_info; manifold_path: string; changed_files_according_to_watchman: changed_files; - corresponding_rev: Hg.Rev.t; - mergebase_rev: Hg.Rev.t; is_cached: bool; } diff --git a/hphp/hack/src/stubs/state_loader_futures.ml b/hphp/hack/src/stubs/state_loader_futures.ml index 3b8caf1d39382d..e6c7597df3f6ef 100644 --- a/hphp/hack/src/stubs/state_loader_futures.ml +++ b/hphp/hack/src/stubs/state_loader_futures.ml @@ -18,8 +18,7 @@ let load ~ssopt:_ ~progress_callback:_ ~watchman_opts:_ - ~ignore_hh_version:_ - ~saved_state_type:_ = + ~ignore_hh_version:_ = Future.of_value (Error "Not implemented") let wait_for_finish _ = failwith "Not implemented" diff --git a/hphp/hack/src/stubs/state_loader_lwt.ml b/hphp/hack/src/stubs/state_loader_lwt.ml index 77b1936eb34030..d5bab8b2381ef9 100644 --- a/hphp/hack/src/stubs/state_loader_lwt.ml +++ b/hphp/hack/src/stubs/state_loader_lwt.ml @@ -7,8 +7,6 @@ *) let get_project_metadata - ~progress_callback:_ - ~saved_state_type:_ ~repo:_ ~ignore_hh_version:_ ~opts:_ = @@ -19,7 +17,7 @@ let load ~progress_callback:_ ~watchman_opts:_ ~ignore_hh_version:_ - ~saved_state_type:_ = + = failwith "Not implemented" let load_internal @@ -30,7 +28,7 @@ let load_internal ~saved_state_type:_ = failwith "Not implemented" -let prepare_download_dir ~saved_state_type:_ = failwith "Not implemented" +let prepare_download_dir() = failwith "Not implemented" let get_saved_state_target_path ~download_dir:_ ~manifold_path:_ = failwith "Not implemented" @@ -39,6 +37,16 @@ let download_and_unpack_saved_state_from_manifold ~ssopt:_ ~progress_callback:_ ~manifold_path:_ - ~target_path:_ - ~saved_state_type:_ = + ~target_path:_ = failwith "Not implemented" + +module FromDisk = struct + + type load_result = { + naming_table_path: Path.t; + warning_saved_state_path: Path.t; + files_changed: Saved_state_loader.changed_files; + } + + let load ~project_metadata:_ ~threshold:_ ~root:_ = failwith "Not implemented" +end diff --git a/hphp/hack/src/watchman/dune b/hphp/hack/src/watchman/dune index 3d95cba15dd2ea..a73f37d773c352 100644 --- a/hphp/hack/src/watchman/dune +++ b/hphp/hack/src/watchman/dune @@ -20,7 +20,7 @@ (name watchman_utils) (wrapped false) (modules watchman_utils) - (libraries hh_json logging utils_core) + (libraries hg hh_json logging utils_core) (preprocess (pps lwt_ppx ppx_deriving.std)))