blob: e7a23b6cecef30e2e8b79b24580de983e8c17f0f [file] [log] [blame] [edit]
open Types
open Value
type extern = ref_
type t = extern
type ref_ += ExternRef of extern
let () =
let eq_ref' = !Value.eq_ref' in
Value.eq_ref' := fun r1 r2 ->
match r1, r2 with
| ExternRef r1', ExternRef r2' -> Value.eq_ref r1' r2'
| _, _ -> eq_ref' r1 r2
let () =
let type_of_ref' = !Value.type_of_ref' in
Value.type_of_ref' := function
| ExternRef _ -> ExternHT
| r -> type_of_ref' r
let () =
let string_of_ref' = !Value.string_of_ref' in
Value.string_of_ref' := function
| ExternRef r -> "(extern " ^ string_of_ref r ^ ")"
| r -> string_of_ref' r