summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.h
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2001-11-25 08:49:09 +0000
committerAndi Gutmans <andi@php.net>2001-11-25 08:49:09 +0000
commitd2da63f629632c8d7940566a71be66c952b17583 (patch)
tree3fa3f90f76000024b585e278098192f99bbe0421 /Zend/zend_compile.h
parent3d741d71c6678ec68e82557d79ebefb6564d0ffd (diff)
downloadphp-git-d2da63f629632c8d7940566a71be66c952b17583.tar.gz
- Support static members. The following script works:
<? class foo { class bar { function init_values() { for ($i=1; $i<10; $i++) { foo::bar::$hello[$i] = $i*$i; } } function print_values() { for ($i=1; $i<10; $i++) { print foo::bar::$hello[$i] . "\n"; } } } } foo::bar::init_values(); foo::bar::print_values(); for ($i=1; $i<10; $i++) { print $hello[$i]?"Shouldn't be printed\n":""; } ?>
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r--Zend/zend_compile.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index 9912ce8c4f..e133a01941 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -232,6 +232,7 @@ void zend_do_fetch_globals(znode *varname TSRMLS_DC);
void fetch_array_begin(znode *result, znode *varname, znode *first_dim TSRMLS_DC);
void fetch_array_dim(znode *result, znode *parent, znode *dim TSRMLS_DC);
void fetch_string_offset(znode *result, znode *parent, znode *offset TSRMLS_DC);
+void zend_do_fetch_static_member(znode *class TSRMLS_DC);
void zend_do_print(znode *result, znode *arg TSRMLS_DC);
void zend_do_echo(znode *arg TSRMLS_DC);
typedef int (*unary_op_type)(zval *, zval *);
@@ -544,9 +545,10 @@ int zendlex(znode *zendlval TSRMLS_DC);
/* global/local fetches */
-#define ZEND_FETCH_GLOBAL 0
-#define ZEND_FETCH_LOCAL 1
-#define ZEND_FETCH_STATIC 2
+#define ZEND_FETCH_GLOBAL 0
+#define ZEND_FETCH_LOCAL 1
+#define ZEND_FETCH_STATIC 2
+#define ZEND_FETCH_STATIC_MEMBER 3
/* unset types */
#define ZEND_UNSET_REG 0