summaryrefslogtreecommitdiff
path: root/Zend/zend_language_parser.y
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2014-04-11 18:21:46 +0200
committerBob Weinand <bobwei9@hotmail.com>2014-04-11 18:21:46 +0200
commitee2a7c7d41ec98c7529b46583f49e0936cac8774 (patch)
tree9f7cc94cac8354597b4143f234635ee59e6bc58c /Zend/zend_language_parser.y
parentad05d3898eae472532620ce9623c9d39c23ef16a (diff)
downloadphp-git-ee2a7c7d41ec98c7529b46583f49e0936cac8774.tar.gz
Fixed disallowal of array usage in constants at run-time
Added at the same time the possibility of array dereferencing to complete the set of features (useful application of arrays in constants)
Diffstat (limited to 'Zend/zend_language_parser.y')
-rw-r--r--Zend/zend_language_parser.y3
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index 40e5c05bce..56e702e8f9 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -1003,7 +1003,8 @@ static_scalar_value:
;
static_operation:
- static_scalar_value '+' static_scalar_value { $$.u.ast = zend_ast_create_binary(ZEND_ADD, $1.u.ast, $3.u.ast); }
+ static_scalar_value '[' static_scalar_value ']' { $$.u.ast = zend_ast_create_binary(ZEND_FETCH_DIM_R, $1.u.ast, $3.u.ast); }
+ | static_scalar_value '+' static_scalar_value { $$.u.ast = zend_ast_create_binary(ZEND_ADD, $1.u.ast, $3.u.ast); }
| static_scalar_value '-' static_scalar_value { $$.u.ast = zend_ast_create_binary(ZEND_SUB, $1.u.ast, $3.u.ast); }
| static_scalar_value '*' static_scalar_value { $$.u.ast = zend_ast_create_binary(ZEND_MUL, $1.u.ast, $3.u.ast); }
| static_scalar_value T_POW static_scalar_value { $$.u.ast = zend_ast_create_binary(ZEND_POW, $1.u.ast, $3.u.ast); }