Bläddra i källkod

ignore empty `${}` in string interpolation (closes #3531)

Simon Krajewski 10 år sedan
förälder
incheckning
83c3c38787
2 ändrade filer med 9 tillägg och 1 borttagningar
  1. 7 0
      tests/unit/src/unit/issues/Issue3531.hx
  2. 2 1
      typer.ml

+ 7 - 0
tests/unit/src/unit/issues/Issue3531.hx

@@ -0,0 +1,7 @@
+package unit.issues;
+
+class Issue3531 extends Test {
+	function test() {
+		eq("ab", 'a${}b');
+	}
+}

+ 2 - 1
typer.ml

@@ -2726,7 +2726,8 @@ and format_string ctx s p =
 		let scode = String.sub s (pos + 1) slen in
 		if warn_escape then warn (pos + 1) slen;
 		min := !min + 2;
-		add (fst (parse_expr_string ctx scode { p with pmin = !pmin + pos + 2; pmax = !pmin + send + 1 } true)) slen;
+		if slen > 0 then
+			add (fst (parse_expr_string ctx scode { p with pmin = !pmin + pos + 2; pmax = !pmin + send + 1 } true)) slen;
 		min := !min + 1;
 		parse (send + 1) (send + 1)
 	in