]> granicus.if.org Git - php/commitdiff
- Add function * and class * functionality. Only constants are left.
authorAndi Gutmans <andi@php.net>
Wed, 6 Mar 2002 17:08:26 +0000 (17:08 +0000)
committerAndi Gutmans <andi@php.net>
Wed, 6 Mar 2002 17:08:26 +0000 (17:08 +0000)
<?php

class MyOuterClass {
class MyInnerClass {
function func1()
{
print "func1()\n";
}

function func2()
{
print "func2()\n";
}
}
}

import class * from MyOuterClass;
import function func2 from MyOuterClass::MyInnerClass;

MyInnerClass::func1();
func2();

Zend/zend_execute.c

index b9d91e06c3f7ec86719648f9ac185de18b20070b..c9c6a6b272382e3fb296d014332a846a821bbcf3 100644 (file)
@@ -1424,7 +1424,9 @@ binary_assign_op_addr: {
                                                }
                                                function_add_ref(function);
                                        } else {
-                                               //zend_hash_apply(&ce->function_table, (apply_func_t) zend_import_function, (void *) 1 TSRMLS_CC);
+                                               zend_function tmp_zend_function;
+
+                                               zend_hash_copy(EG(function_table), &ce->function_table, (copy_ctor_func_t) function_add_ref, &tmp_zend_function, sizeof(zend_function));
                                        }
                                        NEXT_OPCODE();
                                }
@@ -1450,7 +1452,9 @@ binary_assign_op_addr: {
                                                }
                                                zend_class_add_ref(import_ce);
                                        } else {
-                                               //zend_hash_apply(&ce->function_table, (apply_func_t) zend_import_function, (void *) 1 TSRMLS_CC);
+                                               zend_class_entry tmp_zend_class_entry;
+
+                                               zend_hash_copy(EG(class_table), &ce->class_table, (copy_ctor_func_t) zend_class_add_ref, &tmp_zend_class_entry, sizeof(zend_class_entry));
                                        }
 
                                        NEXT_OPCODE();