Browse Source

[lua] streamline Std.string(Std.string(...)) declarations to Std.string(...)

Justin Donaldson 8 years ago
parent
commit
3b43f9655d
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/generators/genlua.ml

+ 3 - 0
src/generators/genlua.ml

@@ -460,6 +460,9 @@ let rec gen_call ctx e el in_value =
 		print ctx ("):%s(") (field_name ef);
 		print ctx ("):%s(") (field_name ef);
 		concat ctx "," (gen_value ctx) el;
 		concat ctx "," (gen_value ctx) el;
 		spr ctx ")";
 		spr ctx ")";
+	| TField (_, FStatic( { cl_path = ([],"Std") }, { cf_name = "string" })),[{eexpr = TCall({eexpr=TField (_, FStatic( { cl_path = ([],"Std") }, { cf_name = "string" }))}, _)} as el] ->
+		(* unwrap recursive Std.string(Std.string(...)) declarations to Std.string(...) *)
+		gen_value ctx el;
 	| TField (e, ((FInstance _ | FAnon _ | FDynamic _) as ef)), el ->
 	| TField (e, ((FInstance _ | FAnon _ | FDynamic _) as ef)), el ->
 		let s = (field_name ef) in
 		let s = (field_name ef) in
 		if Hashtbl.mem kwds s || not (valid_lua_ident s) then begin
 		if Hashtbl.mem kwds s || not (valid_lua_ident s) then begin