@@ -256,6 +256,8 @@ module DynamiChecks = struct
256
256
let nil = Null |> tag_type
257
257
let undefined = Undefined |> tag_type
258
258
let object_ = Untagged ObjectType |> tag_type
259
+ let string = Untagged StringType |> tag_type
260
+ let number = Untagged IntType |> tag_type
259
261
260
262
let (==) x y = bin EqEqEq x y
261
263
let (!=) x y = bin NotEqEq x y
@@ -279,17 +281,17 @@ module DynamiChecks = struct
279
281
let is_literal_case (t : tag_type ) : _ t = e == (tag_type t) in
280
282
let is_not_block_case (c : block_type ) : _ t = match c with
281
283
| StringType when literals_overlaps_with_string () = false (* No overlap *) ->
282
- ( typeof e) != (str " string" )
284
+ typeof e != string
283
285
| IntType when literals_overlaps_with_number () = false ->
284
- ( typeof e) != (str " number" )
286
+ typeof e != number
285
287
| FloatType when literals_overlaps_with_number () = false ->
286
- ( typeof e) != (str " number" )
288
+ typeof e != number
287
289
| ArrayType ->
288
290
not (is_array e)
289
291
| ObjectType when literals_overlaps_with_object () = false ->
290
- ( typeof e) != (str " object " )
292
+ typeof e != object_
291
293
| ObjectType (* overlap *) ->
292
- e == nil ||| (typeof e != str " object " )
294
+ e == nil ||| (typeof e != object_ )
293
295
| StringType (* overlap *)
294
296
| IntType (* overlap *)
295
297
| FloatType (* overlap *)
0 commit comments