@@ -9,8 +9,7 @@ type state = {
99 mutable type_ids : id SMap .t ;
1010 mutable val_ids : id SMap .t ;
1111
12- mutable types : decl list ;
13- mutable exports : decl list ;
12+ mutable decls : decl list ;
1413
1514 mutable curr_tvars : int list option ;
1615}
@@ -48,7 +47,7 @@ and p_sig s = function
4847 | Types. Sig_value (id , val_desc ) ->
4948 let decl_name = get_val_id s (Ident. name id) in
5049 let decl_type = p_type_expr s val_desc.val_type in
51- s.exports < - {decl_name; decl_type; decl_tvars = [] } :: s.exports
50+ s.decls < - Decl_val {decl_name; decl_type} :: s.decls
5251 | Sig_type _ -> () (* Types are declared on demand *)
5352 | Sig_typext _ -> ()
5453 | Sig_module _ -> () (* Non-toplevel values are not exposed *)
@@ -98,10 +97,10 @@ and p_type_expr s type_expr =
9897 let decl_name = get_type_id s type_name in
9998 let type_decl = Env. find_type path s.env in
10099 let decl_type = p_type_decl s type_decl in
101- let decl_tvars = List. map (fun t -> t.Types. id) type_decl.Types. type_params in
100+ let tvars = List. map (fun t -> t.Types. id) type_decl.Types. type_params in
102101 s.curr_tvars < - prev_tvars;
103- let decl = {decl_name; decl_type; decl_tvars} in
104- s.types < - decl :: s.types
102+ let decl = Decl_type (tvars, {decl_name; decl_type}) in
103+ s.decls < - decl :: s.decls
105104 end ;
106105 p_type_name ~tl: (List. map (p_type_expr s) tl) s type_name
107106 end
@@ -179,14 +178,12 @@ let print_signature env sigs =
179178 used_types = [] ;
180179 type_ids = SMap. empty;
181180 val_ids = SMap. empty;
182- types = [] ;
183- exports = [] ;
181+ decls = [] ;
184182 curr_tvars = None ;
185183 } in
186184 List. iter (p_sig s) sigs;
187185 rename_types s;
188186 let prog = {
189- prog_types = List. rev s.types;
190- prog_exports = List. rev s.exports;
187+ prog_decls = List. rev s.decls;
191188 } in
192189 Flow_print. print prog
0 commit comments