浏览代码

[js] generate ternary operator with spaces (#5879)

* [js] generate ternary operator with spaces

The ternary always seems to generate without spaces while the rest generates spaces around anything. This should add spaces around the `?` and `:`.

* Update Issue5477.hx

Fix test that uses ternary operator
Mark Knol 8 年之前
父节点
当前提交
d0b8acb59b
共有 2 个文件被更改,包括 4 次插入4 次删除
  1. 2 2
      src/generators/genjs.ml
  2. 2 2
      tests/optimization/src/issues/Issue5477.hx

+ 2 - 2
src/generators/genjs.ml

@@ -941,9 +941,9 @@ and gen_value ctx e =
 			| _ -> cond
 		) in
 		gen_value ctx cond;
-		spr ctx "?";
+		spr ctx " ? ";
 		gen_value ctx e;
-		spr ctx ":";
+		spr ctx " : ";
 		(match eo with
 		| None -> spr ctx "null"
 		| Some e -> gen_value ctx e);

+ 2 - 2
tests/optimization/src/issues/Issue5477.hx

@@ -2,7 +2,7 @@ package issues;
 
 class Issue5477 {
 	@:js('
-		issues_Issue5477["use"](issues_Issue5477.pureUse(12) > 0.5?1:issues_Issue5477.pureUse(12));
+		issues_Issue5477["use"](issues_Issue5477.pureUse(12) > 0.5 ? 1 : issues_Issue5477.pureUse(12));
 	')
 	static function testIssue5477() {
 		var v = pureUse(12);
@@ -13,4 +13,4 @@ class Issue5477 {
 	static function use<T>(t:T) { return t; }
 	@:pure
 	static function pureUse<T>(t:T) { return t; }
-}
+}