Rudy Ges пре 2 година
родитељ
комит
ef3c868a48
2 измењених фајлова са 10 додато и 30 уклоњено
  1. 7 25
      src/compiler/hxb/hxbReader.ml
  2. 3 5
      src/compiler/hxb/hxbWriter.ml

+ 7 - 25
src/compiler/hxb/hxbReader.ml

@@ -118,23 +118,11 @@ class hxb_reader
 
 	method read_documentation =
 		let doc_own = self#read_option (fun () ->
-			(* TODO fix that *)
-			(* let _ = self#read_uleb128 in *)
-			(* doc_pool.(self#read_uleb128) *)
 			self#read_from_string_pool doc_pool
-			(* "" *)
 		) in
-		let doc_inherited = [] in
-		(* let doc_inherited = self#read_list8 (fun () -> *)
-		(* 	(1* TODO fix that *1) *)
-		(* 	(1* let i = self#read_uleb128 in *1) *)
-		(* 	(1* let _ = self#read_uleb128 in *1) *)
-		(* 	(1* Printf.eprintf "    Read doc string %d\n" i; *1) *)
-		(* 	(1* doc_pool.(i) *1) *)
-		(* 	(1* doc_pool.(self#read_uleb128) *1) *)
-		(* 	self#read_from_string_pool doc_pool *)
-		(* 	(1* "" *1) *)
-		(* ) in *)
+		let doc_inherited = self#read_list8 (fun () ->
+			self#read_from_string_pool doc_pool
+		) in
 		{doc_own;doc_inherited}
 
 	method read_pos =
@@ -705,9 +693,7 @@ class hxb_reader
 		let t = self#read_type_instance in
 		let flags = IO.read_i32 ch in
 
-		(* TODO fix doc *)
-		(* let doc = self#read_option (fun () -> self#read_documentation) in *)
-		let doc = None in
+		let doc = self#read_option (fun () -> self#read_documentation) in
 		let meta = self#read_metadata in
 		let kind = self#read_field_kind in
 
@@ -737,9 +723,7 @@ class hxb_reader
 		let pos = self#read_pos in
 		let name_pos = self#read_pos in
 
-		(* TODO fix doc *)
-		(* let doc = self#read_option (fun () -> self#read_documentation) in *)
-		let doc = None in
+		let doc = self#read_option (fun () -> self#read_documentation) in
 		let meta = self#read_metadata in
 		let kind = self#read_field_kind in
 
@@ -793,7 +777,7 @@ class hxb_reader
 			);
 			ef.ef_params <- Array.to_list field_type_parameters;
 			ef.ef_type <- self#read_type_instance;
-			(* TODO ef_doc *)
+			ef.ef_doc <- self#read_option (fun () -> self#read_documentation);
 			ef.ef_meta <- self#read_metadata;
 		))
 
@@ -801,8 +785,7 @@ class hxb_reader
 
 	method read_common_module_type (m : module_def) (infos : tinfos) =
 		infos.mt_private <- self#read_bool;
-		(* TODO: fix that *)
-		(* infos.mt_doc <- self#read_option (fun () -> self#read_documentation); *)
+		infos.mt_doc <- self#read_option (fun () -> self#read_documentation);
 		infos.mt_meta <- self#read_metadata;
 		(* Printf.eprintf "  read type parameters for %s\n" (s_type_path infos.mt_path); *)
 		self#read_type_parameters m infos.mt_path (fun a ->
@@ -1104,7 +1087,6 @@ class hxb_reader
 			| 3 ->
 				let a = mk_abstract m path pos name_pos in
 				abstracts <- Array.append abstracts (Array.make 1 a);
-				(* TODO fields *)
 				TAbstractDecl a
 			| _ ->
 				error ("Invalid type kind: " ^ (string_of_int kind));

+ 3 - 5
src/compiler/hxb/hxbWriter.ml

@@ -292,7 +292,6 @@ class ['a] hxb_writer
 		chunk#write_string cf.cf_name
 
 	method write_enum_field_ref ef =
-		(* TODO -- enum ref should be written too *)
 		chunk#write_string ef.ef_name
 
 	(* Type instances *)
@@ -774,7 +773,7 @@ class ['a] hxb_writer
 			self#write_pos cf.cf_pos;
 			self#write_pos cf.cf_name_pos;
 		end;
-		(* chunk#write_option cf.cf_doc self#write_documentation; *)
+		chunk#write_option cf.cf_doc self#write_documentation;
 		self#write_metadata cf.cf_meta;
 		self#write_field_kind cf.cf_kind;
 		chunk#write_option cf.cf_expr self#write_texpr;
@@ -789,8 +788,7 @@ class ['a] hxb_writer
 	method write_common_module_type (infos : tinfos) : unit =
 		(* self#write_path infos.mt_path; *)
 		chunk#write_bool infos.mt_private;
-		(* TODO: fix that *)
-		(* chunk#write_option infos.mt_doc self#write_documentation; *)
+		chunk#write_option infos.mt_doc self#write_documentation;
 		self#write_metadata infos.mt_meta;
 		chunk#write_list infos.mt_params self#write_type_parameter_forward;
 		chunk#write_list infos.mt_params self#write_type_parameter_data;
@@ -1039,7 +1037,7 @@ class ['a] hxb_writer
 					chunk#write_list ef.ef_params self#write_type_parameter_forward;
 					chunk#write_list ef.ef_params self#write_type_parameter_data;
 					self#write_type_instance ef.ef_type;
-					(* TODO ef_doc *)
+					chunk#write_option ef.ef_doc self#write_documentation;
 					self#write_metadata ef.ef_meta;
 				);
 			)