]> granicus.if.org Git - php/commitdiff
- MFH: Fixed bug #47254 (Wrong Reflection for extends class)
authorFelipe Pena <felipe@php.net>
Mon, 27 Apr 2009 19:48:45 +0000 (19:48 +0000)
committerFelipe Pena <felipe@php.net>
Mon, 27 Apr 2009 19:48:45 +0000 (19:48 +0000)
ext/reflection/php_reflection.c
ext/reflection/tests/002.phpt
ext/reflection/tests/ReflectionClass_getMethod_001.phpt
ext/reflection/tests/ReflectionClass_getMethods_001.phpt
ext/reflection/tests/ReflectionClass_getProperties_001.phpt
ext/reflection/tests/ReflectionClass_getProperty_001.phpt
ext/reflection/tests/ReflectionClass_getProperty_003.phpt
ext/reflection/tests/ReflectionClass_getProperty_004.phpt
ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt

index 3d68dc0c0e4d403dea56d35d2633f1cec8b67903..5e14ec4fbec2ac11de2a8d4b3c2f9545f906f653 100644 (file)
@@ -1238,7 +1238,7 @@ static void reflection_method_factory(zend_class_entry *ce, zend_function *metho
        MAKE_STD_ZVAL(name);
        MAKE_STD_ZVAL(classname);
        ZVAL_STRING(name, method->common.function_name, 1);
-       ZVAL_STRINGL(classname, ce->name, ce->name_length, 1);
+       ZVAL_STRINGL(classname, method->common.scope->name, method->common.scope->name_length, 1);
        reflection_instantiate(reflection_method_ptr, object TSRMLS_CC);
        intern = (reflection_object *) zend_object_store_get_object(object TSRMLS_CC);
        intern->ptr = method;
@@ -1281,7 +1281,7 @@ static void reflection_property_factory(zend_class_entry *ce, zend_property_info
        MAKE_STD_ZVAL(name);
        MAKE_STD_ZVAL(classname);
        ZVAL_STRING(name, prop_name, 1);
-       ZVAL_STRINGL(classname, ce->name, ce->name_length, 1);
+       ZVAL_STRINGL(classname, prop->ce->name, prop->ce->name_length, 1);
 
        reflection_instantiate(reflection_property_ptr, object TSRMLS_CC);
        intern = (reflection_object *) zend_object_store_get_object(object TSRMLS_CC);
@@ -2482,11 +2482,6 @@ ZEND_METHOD(reflection_method, __construct)
                zval_dtor(&ztmp);
        }
 
-       MAKE_STD_ZVAL(classname);
-       ZVAL_STRINGL(classname, ce->name, ce->name_length, 1);
-
-       zend_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL);
-       
        lcname = zend_str_tolower_dup(name_str, name_len);
 
        if (ce == zend_ce_closure && orig_obj && (name_len == sizeof(ZEND_INVOKE_FUNC_NAME)-1)
@@ -2502,6 +2497,11 @@ ZEND_METHOD(reflection_method, __construct)
        }
        efree(lcname);
 
+       MAKE_STD_ZVAL(classname);
+       ZVAL_STRINGL(classname, mptr->common.scope->name, mptr->common.scope->name_length, 1);
+
+       zend_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL);
+       
        MAKE_STD_ZVAL(name);
        ZVAL_STRING(name, mptr->common.function_name, 1);
        zend_hash_update(Z_OBJPROP_P(object), "name", sizeof("name"), (void **) &name, sizeof(zval *), NULL);
@@ -4326,17 +4326,18 @@ ZEND_METHOD(reflection_property, __construct)
                }
        }
 
-       MAKE_STD_ZVAL(classname);
-       ZVAL_STRINGL(classname, ce->name, ce->name_length, 1);
-       zend_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL);
-       
+       MAKE_STD_ZVAL(classname);       
        MAKE_STD_ZVAL(propname);
+       
        if (dynam_prop == 0) {
                zend_unmangle_property_name(property_info->name, property_info->name_length, &class_name, &prop_name);
+               ZVAL_STRINGL(classname, property_info->ce->name, property_info->ce->name_length, 1);
                ZVAL_STRING(propname, prop_name, 1);
        } else {
+               ZVAL_STRINGL(classname, ce->name, ce->name_length, 1);  
                ZVAL_STRINGL(propname, name_str, name_len, 1);
        }
+       zend_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL);
        zend_hash_update(Z_OBJPROP_P(object), "name", sizeof("name"), (void **) &propname, sizeof(zval *), NULL);
 
        reference = (property_reference*) emalloc(sizeof(property_reference));
index 195aeb23e7d9fa24d2c9134d6411d928d8934848..833fed4aa550749ca5241d252681b4bcb00b3a30 100755 (executable)
@@ -50,14 +50,14 @@ var_dump($r->bar);
 ===DONE===
 --EXPECTF--
 ReflectionMethodEx::__construct
-string(18) "ReflectionMethodEx"
-string(7) "getName"
-string(3) "xyz"
+%unicode|string%(26) "ReflectionFunctionAbstract"
+%unicode|string%(7) "getName"
+%unicode|string%(3) "xyz"
 NULL
 Cannot set read-only property ReflectionMethodEx::$class
 Cannot set read-only property ReflectionMethodEx::$name
-string(18) "ReflectionMethodEx"
-string(7) "getName"
-string(3) "bar"
-string(3) "baz"
+%unicode|string%(26) "ReflectionFunctionAbstract"
+%unicode|string%(7) "getName"
+%unicode|string%(3) "bar"
+%unicode|string%(3) "baz"
 ===DONE===
index 5821ebad0c43aa0f60852d09af7a5c5cda359a1d..2f2d790f689dde518be56945a3cf830ed48f69e0 100644 (file)
@@ -48,121 +48,121 @@ foreach($classes as $class) {
 --EXPECTF--
 Reflecting on class pubf: 
   --> Check for f(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(4) "pubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for s(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(4) "pubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for F(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(4) "pubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for doesntExist(): Method doesntExist does not exist
 Reflecting on class subpubf: 
   --> Check for f(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(7) "subpubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for s(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(7) "subpubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for F(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(7) "subpubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for doesntExist(): Method doesntExist does not exist
 Reflecting on class protf: 
   --> Check for f(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(5) "protf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for s(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(5) "protf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for F(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(5) "protf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for doesntExist(): Method doesntExist does not exist
 Reflecting on class subprotf: 
   --> Check for f(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(8) "subprotf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for s(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(8) "subprotf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for F(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(8) "subprotf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for doesntExist(): Method doesntExist does not exist
 Reflecting on class privf: 
   --> Check for f(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(5) "privf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for s(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(5) "privf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for F(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(5) "privf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for doesntExist(): Method doesntExist does not exist
 Reflecting on class subprivf: 
   --> Check for f(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(8) "subprivf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for s(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(8) "subprivf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for F(): object(ReflectionMethod)#%d (2) {
-  ["name"]=>
-  string(1) "f"
-  ["class"]=>
-  string(8) "subprivf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "f"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
-  --> Check for doesntExist(): Method doesntExist does not exist
\ No newline at end of file
+  --> Check for doesntExist(): Method doesntExist does not exist
index 867d669adf402d3b7158d84c936425128d0a8459..ce5c980c60f0645dd00f7c7e71ff9612eff63cc4 100644 (file)
@@ -40,101 +40,101 @@ Reflecting on class pubf:
 array(2) {
   [0]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "f"
-    ["class"]=>
-    string(4) "pubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "f"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
   [1]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(4) "pubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
 }
 Reflecting on class subpubf: 
 array(2) {
   [0]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "f"
-    ["class"]=>
-    string(7) "subpubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "f"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
   [1]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(7) "subpubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
 }
 Reflecting on class protf: 
 array(2) {
   [0]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "f"
-    ["class"]=>
-    string(5) "protf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "f"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
   [1]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(5) "protf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
 }
 Reflecting on class subprotf: 
 array(2) {
   [0]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "f"
-    ["class"]=>
-    string(8) "subprotf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "f"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
   [1]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(8) "subprotf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
 }
 Reflecting on class privf: 
 array(2) {
   [0]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "f"
-    ["class"]=>
-    string(5) "privf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "f"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "privf"
   }
   [1]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(5) "privf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "privf"
   }
 }
 Reflecting on class subprivf: 
 array(2) {
   [0]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "f"
-    ["class"]=>
-    string(8) "subprivf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "f"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "privf"
   }
   [1]=>
   &object(ReflectionMethod)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(8) "subprivf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "privf"
   }
-}
\ No newline at end of file
+}
index 5eecc5dee43ea5900b40cf960111a24615338f18..b4f99ca68fe3f37961c8d84b4c4780154ca7c6c6 100644 (file)
@@ -40,87 +40,87 @@ Reflecting on class pubf:
 array(2) {
   [0]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "a"
-    ["class"]=>
-    string(4) "pubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "a"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
   [1]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(4) "pubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
 }
 Reflecting on class subpubf: 
 array(2) {
   [0]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "a"
-    ["class"]=>
-    string(7) "subpubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "a"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
   [1]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(7) "subpubf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(4) "pubf"
   }
 }
 Reflecting on class protf: 
 array(2) {
   [0]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "a"
-    ["class"]=>
-    string(5) "protf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "a"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
   [1]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(5) "protf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
 }
 Reflecting on class subprotf: 
 array(2) {
   [0]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "a"
-    ["class"]=>
-    string(8) "subprotf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "a"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
   [1]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(8) "subprotf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "protf"
   }
 }
 Reflecting on class privf: 
 array(2) {
   [0]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "a"
-    ["class"]=>
-    string(5) "privf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "a"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "privf"
   }
   [1]=>
   &object(ReflectionProperty)#%d (2) {
-    ["name"]=>
-    string(1) "s"
-    ["class"]=>
-    string(5) "privf"
+    [%u|b%"name"]=>
+    %unicode|string%(1) "s"
+    [%u|b%"class"]=>
+    %unicode|string%(5) "privf"
   }
 }
 Reflecting on class subprivf: 
 array(0) {
-}
\ No newline at end of file
+}
index fa5deaa6702f58327e034430905416a9c05222c9..9e174b749eceec873e4cf35b779833560b66c75a 100644 (file)
@@ -61,86 +61,86 @@ foreach($classes as $class) {
 --EXPECTF--
 Reflecting on class pubf: 
   --> Check for s: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(4) "pubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for a: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "a"
-  ["class"]=>
-  string(4) "pubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "a"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for A: Property A does not exist
   --> Check for doesntExist: Property doesntExist does not exist
 Reflecting on class subpubf: 
   --> Check for s: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(7) "subpubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for a: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "a"
-  ["class"]=>
-  string(7) "subpubf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "a"
+  [%u|b%"class"]=>
+  %unicode|string%(4) "pubf"
 }
   --> Check for A: Property A does not exist
   --> Check for doesntExist: Property doesntExist does not exist
 Reflecting on class protf: 
   --> Check for s: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(5) "protf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for a: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "a"
-  ["class"]=>
-  string(5) "protf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "a"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for A: Property A does not exist
   --> Check for doesntExist: Property doesntExist does not exist
 Reflecting on class subprotf: 
   --> Check for s: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(8) "subprotf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for a: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "a"
-  ["class"]=>
-  string(8) "subprotf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "a"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "protf"
 }
   --> Check for A: Property A does not exist
   --> Check for doesntExist: Property doesntExist does not exist
 Reflecting on class privf: 
   --> Check for s: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(5) "privf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for a: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "a"
-  ["class"]=>
-  string(5) "privf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "a"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for A: Property A does not exist
   --> Check for doesntExist: Property doesntExist does not exist
 Reflecting on class subprivf: 
   --> Check for s: object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(1) "s"
-  ["class"]=>
-  string(8) "subprivf"
+  [%u|b%"name"]=>
+  %unicode|string%(1) "s"
+  [%u|b%"class"]=>
+  %unicode|string%(5) "privf"
 }
   --> Check for a: Property a does not exist
   --> Check for A: Property A does not exist
-  --> Check for doesntExist: Property doesntExist does not exist
\ No newline at end of file
+  --> Check for doesntExist: Property doesntExist does not exist
index dddd2260fe3d9472cc3b9c9a38d5e8be51c9063f..515d9860badd2661bf0ca52aca1f714167220258 100644 (file)
@@ -97,146 +97,146 @@ showInfo("doesntexist::doesntExist");
 --EXPECTF--
 --- (Reflecting on pubA) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubA"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubA"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
-string(9) "pubA in A"
+%unicode|string%(9) "pubA in A"
 --- (Reflecting on protA) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protA"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protA"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
 Cannot access non-public member C::protA
 --- (Reflecting on privA) ---
 Property privA does not exist
 --- (Reflecting on pubB) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubB"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubB"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
-string(9) "pubB in B"
+%unicode|string%(9) "pubB in B"
 --- (Reflecting on protB) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protB"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protB"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
 Cannot access non-public member C::protB
 --- (Reflecting on privB) ---
 Property privB does not exist
 --- (Reflecting on pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::protC
 --- (Reflecting on privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::privC
 --- (Reflecting on doesntExist) ---
 Property doesntExist does not exist
 --- (Reflecting on A::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "A"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
-string(9) "pubC in A"
+%unicode|string%(9) "pubC in A"
 --- (Reflecting on A::protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "A"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
 Cannot access non-public member A::protC
 --- (Reflecting on A::privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "A"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
 Cannot access non-public member A::privC
 --- (Reflecting on B::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "B"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
-string(9) "pubC in B"
+%unicode|string%(9) "pubC in B"
 --- (Reflecting on B::protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "B"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
 Cannot access non-public member B::protC
 --- (Reflecting on B::privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "B"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
 Cannot access non-public member B::privC
 --- (Reflecting on c::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on c::PUBC) ---
 Property PUBC does not exist
 --- (Reflecting on C::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on C::protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::protC
 --- (Reflecting on C::privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::privC
 --- (Reflecting on X::pubC) ---
@@ -248,4 +248,4 @@ Fully qualified property name X::privC does not specify a base class of C
 --- (Reflecting on X::doesntExist) ---
 Fully qualified property name X::doesntExist does not specify a base class of C
 --- (Reflecting on doesntexist::doesntExist) ---
-Class doesntexist does not exist
\ No newline at end of file
+Class doesntexist does not exist
index 791f5e1fa9ef7fd37f890345713d071625e52e72..1070d57ce4888af611069aa845fd72d8c57e8693 100644 (file)
@@ -97,146 +97,146 @@ showInfo("doesntexist::doesntExist");
 --EXPECTF--
 --- (Reflecting on pubA) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubA"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubA"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
-string(9) "pubA in A"
+%unicode|string%(9) "pubA in A"
 --- (Reflecting on protA) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protA"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protA"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
 Cannot access non-public member C::protA
 --- (Reflecting on privA) ---
 Property privA does not exist
 --- (Reflecting on pubB) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubB"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubB"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
-string(9) "pubB in B"
+%unicode|string%(9) "pubB in B"
 --- (Reflecting on protB) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protB"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protB"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
 Cannot access non-public member C::protB
 --- (Reflecting on privB) ---
 Property privB does not exist
 --- (Reflecting on pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::protC
 --- (Reflecting on privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::privC
 --- (Reflecting on doesntExist) ---
 Property doesntExist does not exist
 --- (Reflecting on A::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "A"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on A::protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "A"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
 Cannot access non-public member A::protC
 --- (Reflecting on A::privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "A"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "A"
 }
 Cannot access non-public member A::privC
 --- (Reflecting on B::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "B"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on B::protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "B"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
 Cannot access non-public member B::protC
 --- (Reflecting on B::privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "B"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "B"
 }
 Cannot access non-public member B::privC
 --- (Reflecting on c::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on c::PUBC) ---
 Property PUBC does not exist
 --- (Reflecting on C::pubC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(4) "pubC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(4) "pubC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
-string(9) "pubC in C"
+%unicode|string%(9) "pubC in C"
 --- (Reflecting on C::protC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "protC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "protC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::protC
 --- (Reflecting on C::privC) ---
 object(ReflectionProperty)#%d (2) {
-  ["name"]=>
-  string(5) "privC"
-  ["class"]=>
-  string(1) "C"
+  [%u|b%"name"]=>
+  %unicode|string%(5) "privC"
+  [%u|b%"class"]=>
+  %unicode|string%(1) "C"
 }
 Cannot access non-public member C::privC
 --- (Reflecting on X::pubC) ---
@@ -248,4 +248,4 @@ Fully qualified property name X::privC does not specify a base class of C
 --- (Reflecting on X::doesntExist) ---
 Fully qualified property name X::doesntExist does not specify a base class of C
 --- (Reflecting on doesntexist::doesntExist) ---
-Class doesntexist does not exist
\ No newline at end of file
+Class doesntexist does not exist
index 790444384d300b1cc5d7945ea5c16286f067e8fc..02c7b9fa3e3ef41b986d3dfe2cf9954229090a9a 100644 (file)
@@ -154,71 +154,71 @@ Modifiers for method TestClass::__autoload():
 int(65792)
 
 
-Modifiers for method DerivedClass::foo():
+Modifiers for method TestClass::foo():
 int(65792)
 
 
-Modifiers for method DerivedClass::stat():
+Modifiers for method TestClass::stat():
 int(257)
 
 
-Modifiers for method DerivedClass::priv():
+Modifiers for method TestClass::priv():
 int(66560)
 
 
-Modifiers for method DerivedClass::prot():
+Modifiers for method TestClass::prot():
 int(66048)
 
 
-Modifiers for method DerivedClass::fin():
+Modifiers for method TestClass::fin():
 int(65796)
 
 
-Modifiers for method DerivedClass::__destruct():
+Modifiers for method TestClass::__destruct():
 int(16640)
 
 
-Modifiers for method DerivedClass::__call():
+Modifiers for method TestClass::__call():
 int(256)
 
 
-Modifiers for method DerivedClass::__clone():
+Modifiers for method TestClass::__clone():
 int(33024)
 
 
-Modifiers for method DerivedClass::__get():
+Modifiers for method TestClass::__get():
 int(256)
 
 
-Modifiers for method DerivedClass::__set():
+Modifiers for method TestClass::__set():
 int(256)
 
 
-Modifiers for method DerivedClass::__unset():
+Modifiers for method TestClass::__unset():
 int(256)
 
 
-Modifiers for method DerivedClass::__isset():
+Modifiers for method TestClass::__isset():
 int(256)
 
 
-Modifiers for method DerivedClass::__tostring():
+Modifiers for method TestClass::__tostring():
 int(256)
 
 
-Modifiers for method DerivedClass::__sleep():
+Modifiers for method TestClass::__sleep():
 int(65792)
 
 
-Modifiers for method DerivedClass::__wakeup():
+Modifiers for method TestClass::__wakeup():
 int(65792)
 
 
-Modifiers for method DerivedClass::__set_state():
+Modifiers for method TestClass::__set_state():
 int(65792)
 
 
-Modifiers for method DerivedClass::__autoload():
+Modifiers for method TestClass::__autoload():
 int(65792)