Browse Source

[php7] support untyped __var__ with single argument (fixes #5919)

Alexander Kuzmenko 8 years ago
parent
commit
f50790d55e
2 changed files with 13 additions and 0 deletions
  1. 2 0
      src/generators/genphp7.ml
  2. 11 0
      tests/unit/src/unit/issues/IssueXXXX.hx

+ 2 - 0
src/generators/genphp7.ml

@@ -1968,6 +1968,8 @@ class virtual type_builder ctx wrapper =
 							)
 						| "__var__" ->
 							(match args with
+								| [] ->
+									self#write ("$" ^ code)
 								| [expr2] ->
 									self#write ("$" ^ code ^ "[");
 									self#write_expr expr2;

+ 11 - 0
tests/unit/src/unit/issues/IssueXXXX.hx

@@ -0,0 +1,11 @@
+package unit.issues;
+
+class Issue5919 extends unit.Test {
+#if php
+	function test() {
+		untyped __php__("$_TEST_VAR = ['test' => 12]");
+		t(untyped __call__("is_array", untyped __var__("_TEST_VAR")));
+		eq(untyped __var__("_TEST_VAR", "test"), 12);
+	}
+#end
+}