1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
let read_traces filename =
let ic = open_in_bin filename in
begin
read_hashtable ~t:[%t: contracts_trace] 0 40 ic tbl1;
read_hashtable ~t:[%t: variables_trace] 40 70 ic tbl2;
read_hashtable ~t:[%t: expressions_trace] 70 100 ic tbl3
end;
close_in ic
let foo x y =
do_some_setup y;
do_some_setup y;
do_some_setup y;
do_some_setup y;
important_function x
let foo x y =
do_some_setup y;
important_function x
let foo x y =
do_some_setup y;
important_function x
let foo x y =
do_some_setup x;
do_some_setup y;
(* Empty line before *)
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
do_some_setup x;
do_some_setup y;
(* No empty line *)
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
do_some_setup x;
do_some_setup y;
(* Empty line after *)
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
do_some_setup x;
do_some_setup y;
(* Empty line after, this above *)
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
do_some_setup x;
do_some_setup y;
(* Empty line before, this under *) important_function x;
another_important_function x y;
cleanup x y
let foo x y =
(* Break should not cause an empty line *)
do_some_setup x;
do_some_setup y;
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
do_some_setup x;
let () = do_some_setup y in
(* Empty line after let *)
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
do_some_setup x;
let () = do_some_setup y in
(* Empty line after let but before comment *)
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
(* in should not cause an empty line *)
let () = do_some_setup x in
do_some_setup y;
important_function x;
another_important_function x y;
cleanup x y
let _ =
some statement;
(* comment with an empty line in it
tricky *)
an other statement
let foo x y =
do_some_setup x;
let* () = do_some_setup y in
(* Empty line after letop *)
important_function x;
another_important_function x y;
cleanup x y
let foo x y =
(* letop in should not cause an empty line *)
let* () = do_some_setup x in
do_some_setup y;
important_function x;
another_important_function x y;
cleanup x y
let _ =
(* This let will wrap *)
let x = 1 in
(* some comment *)
next statement
[@@@ocamlformat "indicate-multiline-delimiters=closing-on-separate-line"]
let foo x y =
lazy
( fooooooooooooooooooooooo;
fooooooooooooooooooooooo;
foooooooooooooooooooooooooo;
fooooooooooooooooooooooooo
)
|