summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-02-12 23:31:01 +0100
committerNikita Popov <nikic@php.net>2015-02-12 23:31:01 +0100
commit2fb85f1058fd7cc7778afa5d3fef24948cbe2ac7 (patch)
treebf66f038876b7311b2b3c33387fffeb708fc5c2c
parent240fbd36f18efcec817b0b8ecd85763ec6abf007 (diff)
downloadphp-git-2fb85f1058fd7cc7778afa5d3fef24948cbe2ac7.tar.gz
Cleanup checks in zend_builtin_functions.c
The EXPLICIT_ABSTRACT_CLASS comparisons are no longer necessary.
-rw-r--r--Zend/zend_builtin_functions.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index dca0890b14..582296a8df 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1381,11 +1381,10 @@ ZEND_FUNCTION(class_exists)
ce = zend_hash_find_ptr(EG(class_table), lc_name);
zend_string_release(lc_name);
- RETURN_BOOL(ce && !((ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT)) > ZEND_ACC_EXPLICIT_ABSTRACT_CLASS));
+ } else {
+ ce = zend_lookup_class(class_name);
}
- ce = zend_lookup_class(class_name);
-
if (ce) {
RETURN_BOOL((ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT)) == 0);
} else {
@@ -1467,12 +1466,12 @@ ZEND_FUNCTION(trait_exists)
ce = zend_hash_find_ptr(EG(class_table), lc_name);
zend_string_release(lc_name);
- RETURN_BOOL(ce && ((ce->ce_flags & ZEND_ACC_TRAIT) > ZEND_ACC_EXPLICIT_ABSTRACT_CLASS));
+ } else {
+ ce = zend_lookup_class(trait_name);
}
- ce = zend_lookup_class(trait_name);
if (ce) {
- RETURN_BOOL((ce->ce_flags & ZEND_ACC_TRAIT) > ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
+ RETURN_BOOL((ce->ce_flags & ZEND_ACC_TRAIT) != 0);
} else {
RETURN_FALSE;
}