]> granicus.if.org Git - php/commitdiff
Renumber ZEND_ACC_... flags
authorDmitry Stogov <dmitry@zend.com>
Tue, 11 Sep 2018 14:21:17 +0000 (17:21 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 11 Sep 2018 14:21:17 +0000 (17:21 +0300)
15 files changed:
UPGRADING
UPGRADING.INTERNALS
Zend/zend_compile.h
ext/mysqli/tests/mysqli_class_mysqli_driver_reflection.phpt
ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt
ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt
ext/mysqli/tests/mysqli_class_mysqli_warning_reflection.phpt
ext/reflection/tests/ReflectionClassConstant_basic1.phpt
ext/reflection/tests/ReflectionClass_getModifiers_basic.phpt
ext/reflection/tests/ReflectionClass_modifiers_001.phpt
ext/reflection/tests/ReflectionClass_toString_001.phpt
ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt
ext/reflection/tests/ReflectionProperty_basic2.phpt
ext/reflection/tests/ReflectionProperty_getModifiers.001.phpt
ext/reflection/tests/ReflectionProperty_getModifiers_basic.phpt

index c97edf95250249d1c6cb87782cfa363ea3ec4790..5c3c952ff56dd8cb6cfe310248d67455ba817947 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -51,6 +51,13 @@ PHP 7.4 UPGRADE NOTES
 9. Other Changes to Extensions
 ========================================
 
+- Reflection:
+  . Numeric value of class, property, function and constant modifiers was
+    changed. Don't filter methods and properties through
+    ReflectionClass::getMethods() and ReflectionClass::getProperties(), or test
+    results of Reflection...::getModifiers(), using hard-coded numeric values.
+    Use corresponding constants instead (e.g. ReflectionMethod::IS_PUBLIC).
+
 ========================================
 10. New Global Constants
 ========================================
index c619a4b220f793f82a88ce92ec4240a95d27120a..526223ddf5a852a488a0bb8f25b92fc2ecb2d1fc 100644 (file)
@@ -3,7 +3,7 @@ PHP 7.4 INTERNALS UPGRADE NOTES
 1. Internal API changes
   a. php_sys_symlink() and php_sys_link()
   b. zend_lookup_class_ex() and zend_fetch_class_by_name()
-  c. Function/property flags
+  c. Function/property/class flags
 
 2. Build system changes
   a. Unix build system changes
@@ -23,7 +23,7 @@ PHP 7.4 INTERNALS UPGRADE NOTES
     changed to accept optional lower-case class name as zend_string*,
     instead of zval*.
 
- c. Function/property flags changes
+ c. Function/property/class flags changes
     - ZEND_ACC_CTOR and ZEND_ACC_DTOR are removed. It's possible to check if
       method is a constructor/destructor using the following condition
       (func->commpon.scope->constructor == func).
@@ -33,6 +33,7 @@ PHP 7.4 INTERNALS UPGRADE NOTES
     - ZEND_ACC_SHADOW property flag is removed. Instead of creating shadow
       clone, now we use the same private property_info, and should also
       check property_info->ce (in the same way as with methods).
+    - ZEND_ACC_... flags are re-numbered.
 
 ========================
 2. Build system changes
index bcc482382a0bec0e1b2bd9858a6be943cf8653b5..b3127b1f7b38cf992557955092a287a205a5dffc 100644 (file)
@@ -201,121 +201,117 @@ typedef struct _zend_oparray_context {
 /* Common flags                                           |     |     |     */
 /* ============                                           |     |     |     */
 /*                                                        |     |     |     */
+/* Visibility flags (public < protected < private)        |     |     |     */
+#define ZEND_ACC_PUBLIC                  (1 <<  0) /*     |  X  |  X  |  X  */
+#define ZEND_ACC_PROTECTED               (1 <<  1) /*     |  X  |  X  |  X  */
+#define ZEND_ACC_PRIVATE                 (1 <<  2) /*     |  X  |  X  |  X  */
+/*                                                        |     |     |     */
+/* Property or method overrides private one               |     |     |     */
+#define ZEND_ACC_CHANGED                 (1 <<  3) /*     |  X  |  X  |     */
+/*                                                        |     |     |     */
 /* Staic method or property                               |     |     |     */
-#define ZEND_ACC_STATIC                  (1 <<  0) /*     |  X  |  X  |     */
+#define ZEND_ACC_STATIC                  (1 <<  4) /*     |  X  |  X  |     */
 /*                                                        |     |     |     */
 /* Final class or method                                  |     |     |     */
-#define ZEND_ACC_FINAL                   (1 <<  2) /*  X  |  X  |     |     */
+#define ZEND_ACC_FINAL                   (1 <<  5) /*  X  |  X  |     |     */
 /*                                                        |     |     |     */
-/* Visibility flags (public < protected < private)        |     |     |     */
-#define ZEND_ACC_PUBLIC                  (1 <<  8) /*     |  X  |  X  |  X  */
-#define ZEND_ACC_PROTECTED               (1 <<  9) /*     |  X  |  X  |  X  */
-#define ZEND_ACC_PRIVATE                 (1 << 10) /*     |  X  |  X  |  X  */
-/*                                                        |     |     |     */
-/* Property or method overrides private one               |     |     |     */
-#define ZEND_ACC_CHANGED                 (1 << 11) /*     |  X  |  X  |     */
+/* Abstarct method                                        |     |     |     */
+#define ZEND_ACC_ABSTRACT                (1 <<  6) /*  X  |  X  |     |     */
+#define ZEND_ACC_EXPLICIT_ABSTRACT_CLASS (1 <<  6) /*  X  |     |     |     */
 /*                                                        |     |     |     */
-/* Class Flags (unused: 0, 1, 3, 11-18, 21, 25...)        |     |     |     */
+/* Class Flags (unused: 15...)                            |     |     |     */
 /* ===========                                            |     |     |     */
 /*                                                        |     |     |     */
+/* Special class types                                    |     |     |     */
+#define ZEND_ACC_INTERFACE               (1 <<  0) /*  X  |     |     |     */
+#define ZEND_ACC_TRAIT                   (1 <<  1) /*  X  |     |     |     */
+#define ZEND_ACC_ANON_CLASS              (1 <<  2) /*  X  |     |     |     */
+/*                                                        |     |     |     */
+/* Bound anonymous class                                  |     |     |     */
+#define ZEND_ACC_ANON_BOUND              (1 <<  3) /*  X  |     |     |     */
+/*                                                        |     |     |     */
 /* class is abstarct, since it is set by any              |     |     |     */
 /* abstract method                                        |     |     |     */
 #define ZEND_ACC_IMPLICIT_ABSTRACT_CLASS (1 <<  4) /*  X  |     |     |     */
 /*                                                        |     |     |     */
-/* Class is explicitly defined as abstract by using       |     |     |     */
-/* the keyword.                                           |     |     |     */
-#define ZEND_ACC_EXPLICIT_ABSTRACT_CLASS (1 <<  5) /*  X  |     |     |     */
-/*                                                        |     |     |     */
-/* Special class types                                    |     |     |     */
-#define ZEND_ACC_INTERFACE               (1 <<  6) /*  X  |     |     |     */
-#define ZEND_ACC_TRAIT                   (1 <<  7) /*  X  |     |     |     */
-#define ZEND_ACC_ANON_CLASS              (1 <<  8) /*  X  |     |     |     */
+/* Class has magic methods __get/__set/__unset/           |     |     |     */
+/* __isset that use guards                                |     |     |     */
+#define ZEND_ACC_USE_GUARDS              (1 <<  7) /*  X  |     |     |     */
 /*                                                        |     |     |     */
-/* Bound anonymous class                                  |     |     |     */
-#define ZEND_ACC_ANON_BOUND              (1 <<  9) /*  X  |     |     |     */
+/* Class constants updated                                |     |     |     */
+#define ZEND_ACC_CONSTANTS_UPDATED       (1 <<  8) /*  X  |     |     |     */
 /*                                                        |     |     |     */
 /* Class extends another class                            |     |     |     */
-#define ZEND_ACC_INHERITED               (1 << 10) /*  X  |     |     |     */
+#define ZEND_ACC_INHERITED               (1 <<  9) /*  X  |     |     |     */
 /*                                                        |     |     |     */
 /* Class extends another class                            |     |     |     */
-#define ZEND_ACC_UNRESOLVED_PARENT       (1 << 11) /*  X  |     |     |     */
+#define ZEND_ACC_UNRESOLVED_PARENT       (1 << 10) /*  X  |     |     |     */
 /*                                                        |     |     |     */
 /* Class implements interface(s)                          |     |     |     */
-#define ZEND_ACC_IMPLEMENT_INTERFACES    (1 << 19) /*  X  |     |     |     */
-/*                                                        |     |     |     */
-/* Class constants updated                                |     |     |     */
-#define ZEND_ACC_CONSTANTS_UPDATED       (1 << 20) /*  X  |     |     |     */
+#define ZEND_ACC_IMPLEMENT_INTERFACES    (1 << 11) /*  X  |     |     |     */
 /*                                                        |     |     |     */
 /* Class implements interface(s)                          |     |     |     */
-#define ZEND_ACC_UNRESOLVED_INTERFACES   (1 << 21) /*  X  |     |     |     */
+#define ZEND_ACC_UNRESOLVED_INTERFACES   (1 << 12) /*  X  |     |     |     */
 /*                                                        |     |     |     */
 /* Class uses trait(s)                                    |     |     |     */
-#define ZEND_ACC_IMPLEMENT_TRAITS        (1 << 22) /*  X  |     |     |     */
+#define ZEND_ACC_IMPLEMENT_TRAITS        (1 << 13) /*  X  |     |     |     */
 /*                                                        |     |     |     */
 /* User class has methods with static variables           |     |     |     */
-#define ZEND_HAS_STATIC_IN_METHODS       (1 << 23) /*  X  |     |     |     */
+#define ZEND_HAS_STATIC_IN_METHODS       (1 << 14) /*  X  |     |     |     */
 /*                                                        |     |     |     */
-/* Class has magic methods __get/__set/__unset/           |     |     |     */
-/* __isset that use guards                                |     |     |     */
-#define ZEND_ACC_USE_GUARDS              (1 << 24) /*  X  |     |     |     */
-/*                                                        |     |     |     */
-/* Function Flags (unused: 4, 5, 17?)                     |     |     |     */
+/* Function Flags (unused: 25...30)                       |     |     |     */
 /* ==============                                         |     |     |     */
 /*                                                        |     |     |     */
-/* Abstarct method                                        |     |     |     */
-#define ZEND_ACC_ABSTRACT                (1 <<  1) /*     |  X  |     |     */
+/* Immutable op_array (lazy loading)                      |     |     |     */
+#define ZEND_ACC_IMMUTABLE               (1 <<  7) /*     |  X  |     |     */
 /*                                                        |     |     |     */
-#define ZEND_ACC_FAKE_CLOSURE            (1 <<  6) /*     |  X  |     |     */
+/* deprecation flag                                       |     |     |     */
+#define ZEND_ACC_DEPRECATED              (1 <<  8) /*     |  X  |     |     */
 /*                                                        |     |     |     */
-/* method flag used by Closure::__invoke()                |     |     |     */
-#define ZEND_ACC_USER_ARG_INFO           (1 <<  7) /*     |  X  |     |     */
+/* Function returning by reference                        |     |     |     */
+#define ZEND_ACC_RETURN_REFERENCE        (1 <<  9) /*     |  X  |     |     */
+/*                                                        |     |     |     */
+/* Function has typed arguments                           |     |     |     */
+#define ZEND_ACC_HAS_TYPE_HINTS          (1 << 10) /*     |  X  |     |     */
+/*                                                        |     |     |     */
+/* Function has a return type                             |     |     |     */
+#define ZEND_ACC_HAS_RETURN_TYPE         (1 << 11) /*     |  X  |     |     */
+/*                                                        |     |     |     */
+/* Function with variable number of arguments             |     |     |     */
+#define ZEND_ACC_VARIADIC                (1 << 12) /*     |  X  |     |     */
+/*                                                        |     |     |     */
+/* op_array has finally blocks (user only)                |     |     |     */
+#define ZEND_ACC_HAS_FINALLY_BLOCK       (1 << 13) /*     |  X  |     |     */
 /*                                                        |     |     |     */
 /* "main" op_array with                                   |     |     |     */
 /* ZEND_DECLARE_INHERITED_CLASS_DELAYED opcodes           |     |     |     */
-#define ZEND_ACC_EARLY_BINDING           (1 << 15) /*     |  X  |     |     */
+#define ZEND_ACC_EARLY_BINDING           (1 << 14) /*     |  X  |     |     */
 /*                                                        |     |     |     */
 /* method flag (bc only), any method that has this        |     |     |     */
 /* flag can be used statically and non statically.        |     |     |     */
-#define ZEND_ACC_ALLOW_STATIC            (1 << 16) /*     |  X  |     |     */
-/*                                                        |     |     |     */
-/* deprecation flag                                       |     |     |     */
-#define ZEND_ACC_DEPRECATED              (1 << 18) /*     |  X  |     |     */
-/*                                                        |     |     |     */
-#define ZEND_ACC_NO_RT_ARENA             (1 << 19) /*     |  X  |     |     */
-/*                                                        |     |     |     */
-#define ZEND_ACC_CLOSURE                 (1 << 20) /*     |  X  |     |     */
+#define ZEND_ACC_ALLOW_STATIC            (1 << 15) /*     |  X  |     |     */
 /*                                                        |     |     |     */
 /* call through user function trampoline. e.g.            |     |     |     */
 /* __call, __callstatic                                   |     |     |     */
-#define ZEND_ACC_CALL_VIA_TRAMPOLINE     (1 << 21) /*     |  X  |     |     */
+#define ZEND_ACC_CALL_VIA_TRAMPOLINE     (1 << 16) /*     |  X  |     |     */
 /*                                                        |     |     |     */
 /* disable inline caching                                 |     |     |     */
-#define ZEND_ACC_NEVER_CACHE             (1 << 22) /*     |  X  |     |     */
-/*                                                        |     |     |     */
-#define ZEND_ACC_GENERATOR               (1 << 23) /*     |  X  |     |     */
-/*                                                        |     |     |     */
-/* Function with variable number of arguments             |     |     |     */
-#define ZEND_ACC_VARIADIC                (1 << 24) /*     |  X  |     |     */
-/*                                                        |     |     |     */
-/* Immutable op_array (lazy loading)                      |     |     |     */
-#define ZEND_ACC_IMMUTABLE               (1 << 25) /*     |  X  |     |     */
+#define ZEND_ACC_NEVER_CACHE             (1 << 17) /*     |  X  |     |     */
 /*                                                        |     |     |     */
-/* Function returning by reference                        |     |     |     */
-#define ZEND_ACC_RETURN_REFERENCE        (1 << 26) /*     |  X  |     |     */
+/* Closure related                                        |     |     |     */
+#define ZEND_ACC_CLOSURE                 (1 << 18) /*     |  X  |     |     */
+#define ZEND_ACC_FAKE_CLOSURE            (1 << 19) /*     |  X  |     |     */
+#define ZEND_ACC_NO_RT_ARENA             (1 << 20) /*     |  X  |     |     */
 /*                                                        |     |     |     */
-#define ZEND_ACC_DONE_PASS_TWO           (1 << 27) /*     |  X  |     |     */
+/* method flag used by Closure::__invoke()                |     |     |     */
+#define ZEND_ACC_USER_ARG_INFO           (1 << 21) /*     |  X  |     |     */
 /*                                                        |     |     |     */
-/* Function has typed arguments                           |     |     |     */
-#define ZEND_ACC_HAS_TYPE_HINTS          (1 << 28) /*     |  X  |     |     */
+#define ZEND_ACC_GENERATOR               (1 << 22) /*     |  X  |     |     */
 /*                                                        |     |     |     */
-/* op_array has finally blocks (user only)                |     |     |     */
-#define ZEND_ACC_HAS_FINALLY_BLOCK       (1 << 29) /*     |  X  |     |     */
+#define ZEND_ACC_DONE_PASS_TWO           (1 << 23) /*     |  X  |     |     */
 /*                                                        |     |     |     */
 /* internal function is allocated at arena (int only)     |     |     |     */
-#define ZEND_ACC_ARENA_ALLOCATED         (1 << 29) /*     |  X  |     |     */
-/*                                                        |     |     |     */
-/* Function has a return type                             |     |     |     */
-#define ZEND_ACC_HAS_RETURN_TYPE         (1 << 30) /*     |  X  |     |     */
+#define ZEND_ACC_ARENA_ALLOCATED         (1 << 24) /*     |  X  |     |     */
 /*                                                        |     |     |     */
 /* op_array uses strict mode types                        |     |     |     */
 #define ZEND_ACC_STRICT_TYPES            (1 << 31) /*     |  X  |     |     */
index 11c3492817ff770eb1e49fdccad8b176371b8f65..7b6c0a65d9cecbeb02a9d5b8236e3a38874c2011 100644 (file)
@@ -40,7 +40,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'client_version'
 isPublic: yes
@@ -48,7 +48,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'driver_version'
 isPublic: yes
@@ -56,7 +56,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'embedded'
 isPublic: yes
@@ -64,7 +64,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'reconnect'
 isPublic: yes
@@ -72,7 +72,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'report_mode'
 isPublic: yes
@@ -80,7 +80,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 Default property 'client_info'
 Default property 'client_version'
 Default property 'driver_version'
index 9247721e43cba65c57dd06729525d86c1bc2c7e3..ad69e3a334589958cd82ed61ef85a5c4cef3ca6b 100644 (file)
@@ -49,7 +49,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 6
 Number of Required Parameters: 0
 
@@ -107,7 +107,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 6
 Number of Required Parameters: 0
 
@@ -165,7 +165,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -188,7 +188,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 2
 Number of Required Parameters: 0
 
@@ -218,7 +218,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 3
 Number of Required Parameters: 3
 
@@ -255,7 +255,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -271,7 +271,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -287,7 +287,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 2
 Number of Required Parameters: 0
 
@@ -317,7 +317,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 6
 Number of Required Parameters: 0
 
@@ -375,7 +375,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -398,7 +398,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -414,7 +414,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -437,7 +437,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -453,7 +453,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -469,7 +469,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -485,7 +485,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -501,7 +501,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -517,7 +517,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -533,7 +533,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -556,7 +556,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -572,7 +572,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -595,7 +595,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -611,7 +611,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 2
 Number of Required Parameters: 2
 
@@ -641,7 +641,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -657,7 +657,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 257
+Modifiers: 17
 Number of Parameters: 5
 Number of Required Parameters: 4
 
@@ -708,7 +708,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -731,7 +731,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 2
 Number of Required Parameters: 1
 
@@ -761,7 +761,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 7
 Number of Required Parameters: 0
 
@@ -826,7 +826,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -849,7 +849,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -872,7 +872,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -888,7 +888,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -911,7 +911,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -934,7 +934,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 2
 Number of Required Parameters: 0
 
@@ -964,7 +964,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -987,7 +987,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -1010,7 +1010,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -1033,7 +1033,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 2
 Number of Required Parameters: 2
 
@@ -1063,7 +1063,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 5
 Number of Required Parameters: 5
 
@@ -1114,7 +1114,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -1130,7 +1130,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -1146,7 +1146,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 0
 
@@ -1169,7 +1169,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -1185,7 +1185,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -1195,7 +1195,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'client_info'
 isPublic: yes
@@ -1203,7 +1203,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'client_version'
 isPublic: yes
@@ -1211,7 +1211,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'connect_errno'
 isPublic: yes
@@ -1219,7 +1219,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'connect_error'
 isPublic: yes
@@ -1227,7 +1227,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'errno'
 isPublic: yes
@@ -1235,7 +1235,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'error'
 isPublic: yes
@@ -1243,7 +1243,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'error_list'
 isPublic: yes
@@ -1251,7 +1251,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'field_count'
 isPublic: yes
@@ -1259,7 +1259,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'host_info'
 isPublic: yes
@@ -1267,7 +1267,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'info'
 isPublic: yes
@@ -1275,7 +1275,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'insert_id'
 isPublic: yes
@@ -1283,7 +1283,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'protocol_version'
 isPublic: yes
@@ -1291,7 +1291,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'server_info'
 isPublic: yes
@@ -1299,7 +1299,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'server_version'
 isPublic: yes
@@ -1307,7 +1307,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'sqlstate'
 isPublic: yes
@@ -1315,7 +1315,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'stat'
 isPublic: yes
@@ -1323,7 +1323,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'thread_id'
 isPublic: yes
@@ -1331,7 +1331,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'warning_count'
 isPublic: yes
@@ -1339,7 +1339,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 Default property 'affected_rows'
 Default property 'client_info'
 Default property 'client_version'
index ee2765c4dce732474490c7cc8c05f49683d5af1b..52b984fa1515f975ebae541278b1995a655592a7 100644 (file)
@@ -49,7 +49,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -65,7 +65,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -81,7 +81,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -97,7 +97,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -120,7 +120,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 0
 
@@ -143,7 +143,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 0
 
@@ -166,7 +166,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -182,7 +182,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -198,7 +198,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -221,7 +221,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -237,7 +237,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 2
 Number of Required Parameters: 0
 
@@ -267,7 +267,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -283,7 +283,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 1
 Number of Required Parameters: 1
 
@@ -306,7 +306,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -322,7 +322,7 @@ isDestructor: no
 isInternal: yes
 isUserDefined: no
 returnsReference: no
-Modifiers: 256
+Modifiers: 1
 Number of Parameters: 0
 Number of Required Parameters: 0
 
@@ -332,7 +332,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'field_count'
 isPublic: yes
@@ -340,7 +340,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'lengths'
 isPublic: yes
@@ -348,7 +348,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'num_rows'
 isPublic: yes
@@ -356,7 +356,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'type'
 isPublic: yes
@@ -364,7 +364,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 Default property 'current_field'
 Default property 'field_count'
 Default property 'lengths'
index 8ad12737a7f446cb6afdcd0e4d0b0882202bb14d..3344bb479f1b71de7d65364e86f2fbdf7f443868 100644 (file)
@@ -90,7 +90,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'message'
 isPublic: yes
@@ -98,7 +98,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 
 Inspecting property 'sqlstate'
 isPublic: yes
@@ -106,7 +106,7 @@ isPrivate: no
 isProtected: no
 isStatic: no
 isDefault: yes
-Modifiers: 256
+Modifiers: 1
 Default property 'errno'
 Default property 'message'
 Default property 'sqlstate'
index 548d64e1bfc796468c12abcbefaa98f0858a5890..78510d0b358a74799680d0e1f798a1f6c91cb62c 100644 (file)
@@ -73,7 +73,7 @@ bool(false)
 isProtected():
 bool(false)
 getModifiers():
-int(256)
+int(1)
 getDeclaringClass():
 object(ReflectionClass)#3 (1) {
   ["name"]=>
@@ -107,7 +107,7 @@ bool(false)
 isProtected():
 bool(true)
 getModifiers():
-int(512)
+int(2)
 getDeclaringClass():
 object(ReflectionClass)#3 (1) {
   ["name"]=>
@@ -141,7 +141,7 @@ bool(true)
 isProtected():
 bool(false)
 getModifiers():
-int(1024)
+int(4)
 getDeclaringClass():
 object(ReflectionClass)#3 (1) {
   ["name"]=>
@@ -175,7 +175,7 @@ bool(true)
 isProtected():
 bool(false)
 getModifiers():
-int(1024)
+int(4)
 getDeclaringClass():
 object(ReflectionClass)#3 (1) {
   ["name"]=>
index f77bbacda7c29653e9dd13909998edfae382a90c..ffe88761338ffaf1d287d29597fa380b5525c6d4 100644 (file)
@@ -29,8 +29,8 @@ dump_modifiers('g');
 ?>
 --EXPECT--
 int(0)
+int(64)
 int(32)
-int(4)
 int(0)
 int(0)
 int(0)
index d82519e4f44c59275bea357b6a42d47a385056ed..1370228f046ef6946172cc03ea3923679feefb8f 100644 (file)
@@ -25,7 +25,7 @@ foreach ($classes as $class) {
 bool(false)
 bool(false)
 bool(true)
-int(32)
+int(64)
 bool(false)
 bool(false)
 bool(false)
@@ -37,7 +37,7 @@ int(0)
 bool(true)
 bool(false)
 bool(false)
-int(4)
+int(32)
 bool(false)
 bool(true)
 bool(false)
index cafdd2e37c907f6f76dfe968eaad5c39002c4d9d..e97af14110be69f97c8b5194f6d82a3400445f52 100644 (file)
@@ -13,8 +13,8 @@ Class [ <internal:Reflection> class ReflectionClass implements Reflector ] {
 
   - Constants [3] {
     Constant [ public int IS_IMPLICIT_ABSTRACT ] { 16 }
-    Constant [ public int IS_EXPLICIT_ABSTRACT ] { 32 }
-    Constant [ public int IS_FINAL ] { 4 }
+    Constant [ public int IS_EXPLICIT_ABSTRACT ] { 64 }
+    Constant [ public int IS_FINAL ] { 32 }
   }
 
   - Static properties [0] {
index 55aea10763aa11f62f929fdf99639226a6cb384a..d1a19c7116191d36cfbca817685d9fb13dda51ca 100644 (file)
@@ -87,151 +87,151 @@ printf("0x%08x\n", $a->getModifiers());
 ?>
 --EXPECTF--
 Modifiers for method TestClass::foo():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::stat():
-0x00000101
+0x00000011
 
 
 Modifiers for method TestClass::priv():
-0x00000400
+0x00000004
 
 
 Modifiers for method TestClass::prot():
-0x00000200
+0x00000002
 
 
 Modifiers for method TestClass::fin():
-0x00000104
+0x00000021
 
 
 Modifiers for method TestClass::__destruct():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__call():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__clone():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__get():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__set():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__unset():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__isset():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__tostring():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__sleep():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__wakeup():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__set_state():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__autoload():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::foo():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::stat():
-0x00000101
+0x00000011
 
 
 Modifiers for method TestClass::priv():
-0x00000400
+0x00000004
 
 
 Modifiers for method TestClass::prot():
-0x00000200
+0x00000002
 
 
 Modifiers for method TestClass::fin():
-0x00000104
+0x00000021
 
 
 Modifiers for method TestClass::__destruct():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__call():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__clone():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__get():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__set():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__unset():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__isset():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__tostring():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__sleep():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__wakeup():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__set_state():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestClass::__autoload():
-0x00000100
+0x00000001
 
 
 Modifiers for method TestInterface::int():
-0x00000102
+0x00000041
 
 
 Modifiers for method TestInterface::__clone():
-0x00000102
+0x00000041
 
 
 Modifiers for method AbstractClass::foo():
-0x00000102
+0x00000041
 
 
 Wrong number of params:
@@ -239,4 +239,4 @@ Wrong number of params:
 Warning: ReflectionMethod::getModifiers() expects exactly 0 parameters, 1 given in %s on line %d
 
 ReflectionMethod::getModifiers() modifiers:
-0x00000100
+0x00000001
index 62938df10017a8c70510842cbf8a3e7b08db8708..8db0e2013f5e0aeeb8447eb0451b5489cf7a7fe1 100644 (file)
@@ -43,7 +43,7 @@ Reflecting on property TestClass::pub
 isDefault():
 bool(true)
 getModifiers():
-int(256)
+int(1)
 getDeclaringClass():
 object(ReflectionClass)#%d (1) {
   ["name"]=>
@@ -59,7 +59,7 @@ Reflecting on property TestClass::stat
 isDefault():
 bool(true)
 getModifiers():
-int(257)
+int(17)
 getDeclaringClass():
 object(ReflectionClass)#%d (1) {
   ["name"]=>
@@ -75,7 +75,7 @@ Reflecting on property TestClass::prot
 isDefault():
 bool(true)
 getModifiers():
-int(512)
+int(2)
 getDeclaringClass():
 object(ReflectionClass)#%d (1) {
   ["name"]=>
@@ -93,7 +93,7 @@ Reflecting on property TestClass::priv
 isDefault():
 bool(true)
 getModifiers():
-int(1024)
+int(4)
 getDeclaringClass():
 object(ReflectionClass)#%d (1) {
   ["name"]=>
index fe888a83bcfb498a147fa860299a7b8628c8f935..e8b9b6ed0d0fd2f7143c458a9f660c7a245d15d9 100644 (file)
@@ -40,27 +40,27 @@ reflectProperty("TestClass", "priv");
 Reflecting on property TestClass::pub
 
 getModifiers():
-int(256)
+int(1)
 
 **********************************
 **********************************
 Reflecting on property TestClass::stat
 
 getModifiers():
-int(257)
+int(17)
 
 **********************************
 **********************************
 Reflecting on property TestClass::prot
 
 getModifiers():
-int(512)
+int(2)
 
 **********************************
 **********************************
 Reflecting on property TestClass::priv
 
 getModifiers():
-int(1024)
+int(4)
 
 **********************************
index 4c99444e30b7e6f0ff38221ae07c7ac14836c67b..6856569d3eadc7dfea2d1f791e631c9fd9ca7fe7 100644 (file)
@@ -32,15 +32,15 @@ for ($i = 1;$i <= 6;$i++) {
 
 ?>
 --EXPECT--
-C::a1: int(256)
-D::a1: int(256)
-C::a2: int(512)
-D::a2: int(512)
-C::a3: int(1024)
-D::a3: int(1024)
-C::a4: int(257)
-D::a4: int(257)
-C::a5: int(513)
-D::a5: int(513)
-C::a6: int(1025)
-D::a6: int(1025)
+C::a1: int(1)
+D::a1: int(1)
+C::a2: int(2)
+D::a2: int(2)
+C::a3: int(4)
+D::a3: int(4)
+C::a4: int(17)
+D::a4: int(17)
+C::a5: int(18)
+D::a5: int(18)
+C::a6: int(20)
+D::a6: int(20)