diff options
| author | Andi Gutmans <andi@php.net> | 2001-09-07 14:46:12 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 2001-09-07 14:46:12 +0000 |
| commit | d7536a8a5fff618601a0aefd491d8ef375ac33b3 (patch) | |
| tree | 16efc9f0321605b6c229dcafae9426b7f547c97c /Zend/zend_compile.c | |
| parent | 2da75a405fb00d86f64fc663fb14d808d8ba7784 (diff) | |
| download | php-git-d7536a8a5fff618601a0aefd491d8ef375ac33b3.tar.gz | |
- Shift around the variable parsing code to make it simpler.
Diffstat (limited to 'Zend/zend_compile.c')
| -rw-r--r-- | Zend/zend_compile.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 3f3ab2b0c8..19f5bb37da 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -845,13 +845,19 @@ int zend_do_begin_function_call(znode *function_name TSRMLS_DC) void zend_do_begin_method_call(znode *object, znode *function_name TSRMLS_DC) { - zend_op *opline; + zend_op *last_op; + int last_op_number; unsigned char *ptr = NULL; zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_variable_parse(TSRMLS_C); - opline = get_next_op(CG(active_op_array) TSRMLS_CC); + last_op_number = get_next_op_number(CG(active_op_array))-1; + last_op = &CG(active_op_array)->opcodes[last_op_number]; + last_op->opcode = ZEND_INIT_FCALL_BY_NAME; + last_op->extended_value = ZEND_MEMBER_FUNC_CALL; + + /*opline = get_next_op(CG(active_op_array) TSRMLS_CC); opline->opcode = ZEND_INIT_FCALL_BY_NAME; opline->extended_value = ZEND_MEMBER_FUNC_CALL; opline->op1 = *object; @@ -861,6 +867,7 @@ void zend_do_begin_method_call(znode *object, znode *function_name TSRMLS_DC) *function_name = opline->result; +*/ /* if (function_name->op_type == IS_CONST) { zval_copy_ctor(&function_name->u.constant); |
