From 4460a4e7b52863ed290b3ee8d7bc4989cac2e774 Mon Sep 17 00:00:00 2001 From: Filipe Marques Date: Thu, 4 Jan 2024 14:02:40 +0000 Subject: [PATCH] Use local opens for option binding operator --- ECMA-SL/semantics/domains/heap.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ECMA-SL/semantics/domains/heap.ml b/ECMA-SL/semantics/domains/heap.ml index b91caa02d8..4e0e5c95c5 100644 --- a/ECMA-SL/semantics/domains/heap.ml +++ b/ECMA-SL/semantics/domains/heap.ml @@ -1,5 +1,3 @@ -open Syntax.Option - type 'a obj = 'a Object.t type 'a t = @@ -22,6 +20,7 @@ let set (heap : 'a t) (l : Loc.t) (obj : 'a obj) : unit = Hashtbl.replace heap.map l obj let rec get_opt (heap : 'a t) (l : Loc.t) : 'a obj option = + let open Syntax.Option in match Hashtbl.find_opt heap.map l with | Some _ as obj -> obj | None -> @@ -37,6 +36,7 @@ let get (heap : 'a t) (l : Loc.t) : ('a obj, string) Result.t = | None -> Error (Format.sprintf "Cannot find lation '%s'." l) let get_field_opt (heap : 'a t) (l : Loc.t) (fn : string) : 'a option = + let open Syntax.Option in let* obj = get_opt heap l in Object.get obj fn