]> granicus.if.org Git - php/commitdiff
disallow abstrace private methods
authorStanislav Malyshev <stas@php.net>
Thu, 9 Jun 2005 17:12:54 +0000 (17:12 +0000)
committerStanislav Malyshev <stas@php.net>
Thu, 9 Jun 2005 17:12:54 +0000 (17:12 +0000)
Zend/zend_compile.c

index dd4fe252a5ba3c36057c8b3fb6d46099e25f62cf..7e95d0fcdb7d96d0ac0358f1bfb972ddf05c798a 100644 (file)
@@ -503,6 +503,9 @@ void zend_do_abstract_method(znode *function_name, znode *modifiers, znode *body
        }
 
        if (modifiers->u.constant.value.lval & ZEND_ACC_ABSTRACT) {
+               if(modifiers->u.constant.value.lval & ZEND_ACC_PRIVATE) {
+                       zend_error(E_COMPILE_ERROR, "%s function %s::%s() cannot be declared private", method_type, CG(active_class_entry)->name, function_name->u.constant.value.str.val);
+               }
                if (body->u.constant.value.lval == ZEND_ACC_ABSTRACT) {
                        zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);