Simon Krajewski 1 anno fa
parent
commit
fe038de0c8
1 ha cambiato i file con 7 aggiunte e 15 eliminazioni
  1. 7 15
      src/compiler/hxb/hxbReader.ml

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

@@ -605,16 +605,13 @@ class hxb_reader
 			die "" __LOC__
 			die "" __LOC__
 
 
 	method read_type_instance =
 	method read_type_instance =
-		self#process_type_instance (IO.read_byte ch)
-
-	method process_type_instance (kind : int) =
 		let read_fun_arg () =
 		let read_fun_arg () =
 			let name = self#read_string in
 			let name = self#read_string in
 			let opt = self#read_bool in
 			let opt = self#read_bool in
 			let t = self#read_type_instance in
 			let t = self#read_type_instance in
 			(name,opt,t)
 			(name,opt,t)
 		in
 		in
-		match kind with
+		match (IO.read_byte ch) with
 		| 0 ->
 		| 0 ->
 			let i = read_uleb128 ch in
 			let i = read_uleb128 ch in
 			tmonos.(i)
 			tmonos.(i)
@@ -811,11 +808,6 @@ class hxb_reader
 			c.cl_meta <- meta;
 			c.cl_meta <- meta;
 		) a
 		) a
 
 
-	method read_type_parameters (f : typed_type_param array -> unit) =
-		let a = self#read_type_parameters_forward in
-		f a;
-		self#read_type_parameters_data a
-
 	(* Fields *)
 	(* Fields *)
 
 
 	method read_field_kind = match IO.read_byte ch with
 	method read_field_kind = match IO.read_byte ch with
@@ -1233,9 +1225,9 @@ class hxb_reader
 			| 0 ->
 			| 0 ->
 				()
 				()
 			| 1 ->
 			| 1 ->
-				self#read_type_parameters (fun a ->
-					local_type_parameters <- a
-				);
+				let a = self#read_type_parameters_forward in
+				local_type_parameters <- a;
+				self#read_type_parameters_data a;
 			| i ->
 			| i ->
 				die "" __LOC__
 				die "" __LOC__
 		end;
 		end;
@@ -1256,9 +1248,9 @@ class hxb_reader
 			| 0 ->
 			| 0 ->
 				()
 				()
 			| 1 ->
 			| 1 ->
-				self#read_type_parameters (fun a ->
-					field_type_parameters <- a;
-				);
+				let a = self#read_type_parameters_forward in
+				field_type_parameters <- a;
+				self#read_type_parameters_data a;
 				field_type_parameter_offset <- 0; (* num_params is added below *)
 				field_type_parameter_offset <- 0; (* num_params is added below *)
 			| i ->
 			| i ->
 				die "" __LOC__
 				die "" __LOC__