]> granicus.if.org Git - php/commitdiff
Disallow abstract privae methods
authorStanislav Malyshev <stas@php.net>
Thu, 9 Jun 2005 17:04:30 +0000 (17:04 +0000)
committerStanislav Malyshev <stas@php.net>
Thu, 9 Jun 2005 17:04:30 +0000 (17:04 +0000)
Zend/zend_compile.c

index 2d0d59ea96f415671271501597f0bf5d4d9419be..16b24ca17a9f0e61a803ac82244f34d3ff316008 100644 (file)
@@ -418,6 +418,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);