Annotation of embedaddon/php/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ReflectionParameter class - canBePassedByValue() method.
3: --FILE--
4: <?php
5:
6: function aux($fun) {
7:
8: $func = new ReflectionFunction($fun);
9: $parameters = $func->getParameters();
10: foreach($parameters as $parameter) {
11: echo "Name: ", $parameter->getName(), "\n";
12: echo "Is passed by reference: ", $parameter->isPassedByReference()?"yes":"no", "\n";
13: echo "Can be passed by value: ", $parameter->canBePassedByValue()?"yes":"no", "\n";
14: echo "\n";
15: }
16:
17: }
18:
19: echo "=> array_multisort:\n\n";
20:
21: aux('array_multisort');
22:
23:
24: echo "=> sort:\n\n";
25:
26: aux('sort');
27:
28: echo "=> user function:\n\n";
29:
30: function ufunc(&$arg1, $arg2) {}
31:
32: aux('ufunc');
33:
34: echo "Done.\n";
35:
36: ?>
37: --EXPECTF--
38: => array_multisort:
39:
40: Name: arr1
41: Is passed by reference: yes
42: Can be passed by value: yes
43:
44: Name: SORT_ASC_or_SORT_DESC
45: Is passed by reference: yes
46: Can be passed by value: yes
47:
48: Name: SORT_REGULAR_or_SORT_NUMERIC_or_SORT_STRING
49: Is passed by reference: yes
50: Can be passed by value: yes
51:
52: Name: arr2
53: Is passed by reference: yes
54: Can be passed by value: yes
55:
56: Name: SORT_ASC_or_SORT_DESC
57: Is passed by reference: yes
58: Can be passed by value: yes
59:
60: Name: SORT_REGULAR_or_SORT_NUMERIC_or_SORT_STRING
61: Is passed by reference: yes
62: Can be passed by value: yes
63:
64: => sort:
65:
66: Name: arg
67: Is passed by reference: yes
68: Can be passed by value: no
69:
70: Name: sort_flags
71: Is passed by reference: no
72: Can be passed by value: yes
73:
74: => user function:
75:
76: Name: arg1
77: Is passed by reference: yes
78: Can be passed by value: no
79:
80: Name: arg2
81: Is passed by reference: no
82: Can be passed by value: yes
83:
84: Done.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>