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
|
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
)
|