Преглед на файлове

bring back `implements Dynamic` printing for --gen-hx-classes externs

reverts a bit from db08b2fd72d28026f539066bdd7411991b9f7470
Dan Korostelev преди 6 години
родител
ревизия
f9f4e222d9
променени са 1 файла, в които са добавени 8 реда и са изтрити 0 реда
  1. 8 0
      src/codegen/genxml.ml

+ 8 - 0
src/codegen/genxml.ml

@@ -489,6 +489,14 @@ let generate_type com t =
 		| Some (c,pl) -> [" extends " ^ stype (TInst (c,pl))]
 		) in
 		let ext = List.fold_left (fun acc (i,pl) -> ((if c.cl_interface then " extends " else " implements ") ^ stype (TInst (i,pl))) :: acc) ext c.cl_implements in
+		let ext = (match c.cl_dynamic with
+			| None -> ext
+			| Some t ->
+				(match c.cl_path with
+				| ["flash";"errors"], _ -> ext
+				| _ when t == t_dynamic -> " implements Dynamic" :: ext
+				| _ -> (" implements Dynamic<" ^ stype t ^ ">") :: ext)
+		) in
 		let ext = (match c.cl_path with
 			| ["flash";"utils"], "ByteArray" -> " implements ArrayAccess<Int>" :: ext
 			| ["flash";"utils"], "Dictionary" -> [" implements ArrayAccess<Dynamic>"]