1--TEST--
2ReflectionClass::__toString() - various parameters
3--FILE--
4<?php
5Class A {
6    public function privf(Exception $a) {}
7    public function pubf(A $a,
8                         $b,
9                         C $c = null,
10                         $d = K,
11                         $e = "15 chars long -",
12                         $f = null,
13                         $g = false,
14                         array $h = null) {}
15}
16
17Class C extends A { }
18
19define('K', "16 chars long --");
20echo new ReflectionClass("C"), "\n";
21?>
22--EXPECTF--
23Class [ <user> class C extends A ] {
24  @@ %s 14-14
25
26  - Constants [0] {
27  }
28
29  - Static properties [0] {
30  }
31
32  - Static methods [0] {
33  }
34
35  - Properties [0] {
36  }
37
38  - Methods [2] {
39    Method [ <user, inherits A> public method privf ] {
40      @@ %s 3 - 3
41
42      - Parameters [1] {
43        Parameter #0 [ <required> Exception $a ]
44      }
45    }
46
47    Method [ <user, inherits A> public method pubf ] {
48      @@ %s 4 - 11
49
50      - Parameters [8] {
51        Parameter #0 [ <required> A $a ]
52        Parameter #1 [ <required> $b ]
53        Parameter #2 [ <optional> ?C $c = NULL ]
54        Parameter #3 [ <optional> $d = K ]
55        Parameter #4 [ <optional> $e = '15 chars long -' ]
56        Parameter #5 [ <optional> $f = NULL ]
57        Parameter #6 [ <optional> $g = false ]
58        Parameter #7 [ <optional> ?array $h = NULL ]
59      }
60    }
61  }
62}
63