summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2005-06-09 17:12:54 +0000
committerStanislav Malyshev <stas@php.net>2005-06-09 17:12:54 +0000
commitb83a2603b35bac1cd95383262bc6df59ee254868 (patch)
treefdb49de5e8accfa673e052f67918f768f58dc2c1 /Zend/zend_compile.c
parent59a46c34fa39e7dff0cb116c42cf2879d02f32a1 (diff)
downloadphp-git-b83a2603b35bac1cd95383262bc6df59ee254868.tar.gz
disallow abstrace private methods
Diffstat (limited to 'Zend/zend_compile.c')
-rw-r--r--Zend/zend_compile.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index dd4fe252a5..7e95d0fcdb 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -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);