diff options
| author | Andi Gutmans <andi@php.net> | 2001-11-25 08:49:09 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 2001-11-25 08:49:09 +0000 |
| commit | d2da63f629632c8d7940566a71be66c952b17583 (patch) | |
| tree | 3fa3f90f76000024b585e278098192f99bbe0421 /Zend/zend_compile.h | |
| parent | 3d741d71c6678ec68e82557d79ebefb6564d0ffd (diff) | |
| download | php-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.h | 8 |
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 |
