diff options
author | Laria Carolin Chabowski <laria@laria.me> | 2020-05-01 17:41:37 +0200 |
---|---|---|
committer | Laria Carolin Chabowski <laria@laria.me> | 2020-05-01 17:55:59 +0200 |
commit | 379131508a321abb88ccc14f5fc99d6a3e82f3f5 (patch) | |
tree | 93a423777edb2b7df62fc3d1607ebdb2b55e6bde | |
parent | 7449faaa76a5b4008fd51a6562cca2e0a852ea6b (diff) | |
download | ste-379131508a321abb88ccc14f5fc99d6a3e82f3f5.tar.gz ste-379131508a321abb88ccc14f5fc99d6a3e82f3f5.tar.bz2 ste-379131508a321abb88ccc14f5fc99d6a3e82f3f5.zip |
Fix compiling static numeric array access
-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 |