Browse Source

[cs] Make sure that `cast null` is generated correctly - even with `erase_generics`

Cauê Waneck 9 years ago
parent
commit
ae36c56961
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/generators/gencs.ml

+ 4 - 0
src/generators/gencs.ml

@@ -1344,6 +1344,10 @@ let configure gen =
 						| TNull -> write w "null"
 						| TNull -> write w "null"
 						| TThis -> write w "this"
 						| TThis -> write w "this"
 						| TSuper -> write w "base")
 						| TSuper -> write w "base")
+				| TCast({ eexpr = TConst(TNull) }, _) ->
+							write w "default(";
+							write w (t_s e.etype);
+							write w ")"
 				| TLocal { v_name = "__sbreak__" } -> write w "break"
 				| TLocal { v_name = "__sbreak__" } -> write w "break"
 				| TLocal { v_name = "__undefined__" } ->
 				| TLocal { v_name = "__undefined__" } ->
 					write w (t_s (TInst(runtime_cl, List.map (fun _ -> t_dynamic) runtime_cl.cl_params)));
 					write w (t_s (TInst(runtime_cl, List.map (fun _ -> t_dynamic) runtime_cl.cl_params)));