diff options
-rw-r--r-- | src/ste/VariableNode.php | 2 | ||||
-rw-r--r-- | tests/test_static_numeric_array_access/.gitignore | 3 | ||||
-rw-r--r-- | tests/test_static_numeric_array_access/code.php | 12 | ||||
-rw-r--r-- | tests/test_static_numeric_array_access/test.tpl | 3 | ||||
-rw-r--r-- | tests/test_static_numeric_array_access/want | 3 |
5 files changed, 22 insertions, 1 deletions
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 @@ +<?php + +use kch42\ste\STECore; + +function test_func(STECore $ste) +{ + $ste->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 |