Explorar el Código

read metadata in forward data

see https://github.com/go2hx/go2hx/issues/174
Simon Krajewski hace 1 año
padre
commit
ccae56846d
Se han modificado 2 ficheros con 3 adiciones y 7 borrados
  1. 2 6
      src/compiler/hxb/hxbReader.ml
  2. 1 1
      src/compiler/hxb/hxbWriter.ml

+ 2 - 6
src/compiler/hxb/hxbReader.ml

@@ -1232,8 +1232,9 @@ class hxb_reader
 		let name = self#read_string in
 		let pos = self#read_pos in
 		let name_pos = self#read_pos in
+		let meta = self#read_metadata in
 		let overloads = self#read_list (fun () -> self#read_class_field_forward) in
-		{ null_field with cf_name = name; cf_pos = pos; cf_name_pos = name_pos; cf_overloads = overloads }
+		{ null_field with cf_name = name; cf_pos = pos; cf_name_pos = name_pos; cf_overloads = overloads; cf_meta = meta }
 
 	method start_texpr =
 		let l = read_uleb128 ch in
@@ -1271,13 +1272,9 @@ class hxb_reader
 				local_type_parameters <- a
 			);
 		let t = self#read_type_instance in
-
 		let flags = read_uleb128 ch in
-
 		let doc = self#read_option (fun () -> self#read_documentation) in
-		let meta = self#read_metadata in
 		let kind = self#read_field_kind in
-
 		let expr,expr_unoptimized = match IO.read_byte ch with
 			| 0 ->
 				None,None
@@ -1290,7 +1287,6 @@ class hxb_reader
 
 		cf.cf_type <- t;
 		cf.cf_doc <- doc;
-		cf.cf_meta <- meta;
 		cf.cf_kind <- kind;
 		cf.cf_expr <- expr;
 		cf.cf_expr_unoptimized <- expr_unoptimized;

+ 1 - 1
src/compiler/hxb/hxbWriter.ml

@@ -1686,6 +1686,7 @@ class hxb_writer
 		Chunk.write_string chunk cf.cf_name;
 		self#write_pos cf.cf_pos;
 		self#write_pos cf.cf_name_pos;
+		self#write_metadata cf.cf_meta;
 		Chunk.write_list chunk cf.cf_overloads (fun cf ->
 			self#write_class_field_forward cf;
 		);
@@ -1726,7 +1727,6 @@ class hxb_writer
 		end);
 		IOChunk.write_uleb128 chunk.io cf.cf_flags;
 		Chunk.write_option chunk cf.cf_doc self#write_documentation;
-		self#write_metadata cf.cf_meta;
 		self#write_field_kind cf.cf_kind;
 		begin match cf.cf_expr with
 			| None ->