From 379131508a321abb88ccc14f5fc99d6a3e82f3f5 Mon Sep 17 00:00:00 2001 From: Laria Carolin Chabowski Date: Fri, 1 May 2020 17:41:37 +0200 Subject: Fix compiling static numeric array access --- src/ste/VariableNode.php | 2 +- tests/test_static_numeric_array_access/.gitignore | 3 +++ tests/test_static_numeric_array_access/code.php | 12 ++++++++++++ tests/test_static_numeric_array_access/test.tpl | 3 +++ tests/test_static_numeric_array_access/want | 3 +++ 5 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/test_static_numeric_array_access/.gitignore create mode 100644 tests/test_static_numeric_array_access/code.php create mode 100644 tests/test_static_numeric_array_access/test.tpl create mode 100644 tests/test_static_numeric_array_access/want diff --git a/src/ste/VariableNode.php b/src/ste/VariableNode.php index 9a4ced8..9752d28 100644 --- a/src/ste/VariableNode.php +++ b/src/ste/VariableNode.php @@ -22,7 +22,7 @@ class VariableNode extends ASTNode && ($af[0] instanceof TextNode) && is_numeric($af[0]->text) ) { - $varaccess .= '[' . $af->text . ']'; + $varaccess .= '[' . $af[0]->text . ']'; } else { $varaccess .= '[' . implode(".", array_map(function ($node) { if ($node instanceof TextNode) { diff --git a/tests/test_static_numeric_array_access/.gitignore b/tests/test_static_numeric_array_access/.gitignore new file mode 100644 index 0000000..de2a41b --- /dev/null +++ b/tests/test_static_numeric_array_access/.gitignore @@ -0,0 +1,3 @@ +have +*.ast +*.transc.php diff --git a/tests/test_static_numeric_array_access/code.php b/tests/test_static_numeric_array_access/code.php new file mode 100644 index 0000000..77f48be --- /dev/null +++ b/tests/test_static_numeric_array_access/code.php @@ -0,0 +1,12 @@ +set_var_by_name("foo", array( + "foo", + "bar", + "baz", + )); +} diff --git a/tests/test_static_numeric_array_access/test.tpl b/tests/test_static_numeric_array_access/test.tpl new file mode 100644 index 0000000..a313c6b --- /dev/null +++ b/tests/test_static_numeric_array_access/test.tpl @@ -0,0 +1,3 @@ +$foo[0] +$foo[1] +$foo[2] diff --git a/tests/test_static_numeric_array_access/want b/tests/test_static_numeric_array_access/want new file mode 100644 index 0000000..86e041d --- /dev/null +++ b/tests/test_static_numeric_array_access/want @@ -0,0 +1,3 @@ +foo +bar +baz -- cgit v1.2.3-70-g09d2