1 # trait_uses_trait.good.php starts here
3 .filepath
"trait_uses_trait.good.php";
5 .adata A_0
= """Y:2:{s:4:\"kind\";i:21;s:13:\"generic_types\";y:1:{Y:1:{s:4:\"kind\";i:4;}}}""";
6 .adata A_1
= """k:1:{s:1:\"X\";}""";
7 .adata A_2
= """k:1:{s:1:\"J\";}""";
8 .adata A_3
= """v:1:{s:8:\"MyTraitB\";}""";
9 .adata A_4
= """k:1:{s:1:\"K\";}""";
10 .adata A_5
= """v:1:{s:8:\"MyTraitA\";}""";
25 .function
{} ["__EntryPoint"("""y:0:{}""")] (40,44) <"HH\\void" N > main() {
33 FCallClsMethodD
<> 1 1 "0" - "" "" "C" "pu$E$value"
49 FCallClsMethodD
<> 1 1 "0" - "" "" "C" "pu$E$value"
65 FCallClsMethodD
<> 1 1 "0" - "" "" "C" "pu$E$value"
79 .class
{} [final trait
] MyTraitB
(4,11) {
80 .method
{}{} [private static
"__Memoize"("""y:0:{}""")] (5,5) <"HH\\keyset<HH\\string>" "HH\\keyset" extended_hint> pu$E$Members$memoize_impl() {
88 .method
{}{} [private static
"__Memoize"("""y:0:{}""")] (5,5) <"HH\\mixed" N > pu$E$value$memoize_impl(<"HH\\string" "HH\\string" > $atom) {
110 String
"\\MyTraitB:@E::value unknown atom access: "
115 FCallCtor
<LockWhileUnwinding
> 1 1 "0" - "" ""
124 .method
{}{} [public static
"__Memoize"("""y:0:{}""")] (5,5) <"HH\\keyset<HH\\string>" "HH\\keyset" extended_hint> pu$E$Members() {
133 FCallClsMethodSD
<> 0 1 "" - "" "" Self "pu$E$Members$memoize_impl"
137 .method
{}{} [public static
"__Memoize"("""y:0:{}""")] (5,5) <"HH\\mixed" N > pu$E$value(<"HH\\string" "HH\\string" > $atom) {
140 VerifyParamType $atom
151 FCallClsMethodSD
<> 1 1 "" - "" "" Self "pu$E$value$memoize_impl"
157 .class
{} [final trait
] MyTraitA
(13,22) {
159 .method
{}{} [private static
"__Memoize"("""y:0:{}""") "__Override"("""y:0:{}""")] (16,16) <"HH\\keyset<HH\\string>" "HH\\keyset" extended_hint> pu$E$Members$memoize_impl() {
161 .declvars $result $traits_classes $traits_class $class $method $parent_members $p $_
;
175 CGetL $traits_classes
177 IterInit
0 NK V
:$traits_class L0
182 NewObjD
"ReflectionClass"
189 FCallCtor
<LockWhileUnwinding
> 1 1 "0" - "" ""
201 String
"pu$E$Members"
203 FCallObjMethodD
<> 1 1 "0" - "" "" NullThrows "getMethod"
215 FCallObjMethodD
<> 1 1 "0" - "" "" NullThrows "invoke"
221 CGetL $parent_members
223 IterInit
1 NK V
:$p L1
235 IterNext
1 NK V
:$p L2
246 InstanceOfD
"ReflectionException"
257 IterNext
0 NK V
:$traits_class L5
271 .method
{}{} [private static
"__Memoize"("""y:0:{}""")] (16,16) <"HH\\mixed" N > pu$E$value$memoize_impl(<"HH\\string" "HH\\string" > $atom) {
273 .declvars $trait_classes $trait_class $class $method $_
;
275 VerifyParamType $atom
298 IterInit
0 NK V
:$trait_class L2
303 NewObjD
"ReflectionClass"
310 FCallCtor
<LockWhileUnwinding
> 1 1 "0" - "" ""
324 FCallObjMethodD
<> 1 1 "0" - "" "" NullThrows "getMethod"
338 FCallObjMethodD
<> 2 1 "00" - "" "" NullThrows "invoke"
346 InstanceOfD
"Exception"
357 IterNext
0 NK V
:$trait_class L5
370 String
"\\MyTraitA:@E::value unknown atom access: "
375 FCallCtor
<LockWhileUnwinding
> 1 1 "0" - "" ""
384 .method
{}{} [public static
"__Memoize"("""y:0:{}""") "__Override"("""y:0:{}""")] (16,16) <"HH\\keyset<HH\\string>" "HH\\keyset" extended_hint> pu$E$Members() {
393 FCallClsMethodSD
<> 0 1 "" - "" "" Self "pu$E$Members$memoize_impl"
397 .method
{}{} [public static
"__Memoize"("""y:0:{}""")] (16,16) <"HH\\mixed" N > pu$E$value(<"HH\\string" "HH\\string" > $atom) {
400 VerifyParamType $atom
411 FCallClsMethodSD
<> 1 1 "" - "" "" Self "pu$E$value$memoize_impl"
417 .class
{} C
(24,35) {
419 .method
{}{} [private static
"__Memoize"("""y:0:{}""") "__Override"("""y:0:{}""")] (27,27) <"HH\\keyset<HH\\string>" "HH\\keyset" extended_hint> pu$E$Members$memoize_impl() {
421 .declvars $result $traits_classes $traits_class $class $method $parent_members $p $_
;
435 CGetL $traits_classes
437 IterInit
0 NK V
:$traits_class L0
442 NewObjD
"ReflectionClass"
449 FCallCtor
<LockWhileUnwinding
> 1 1 "0" - "" ""
461 String
"pu$E$Members"
463 FCallObjMethodD
<> 1 1 "0" - "" "" NullThrows "getMethod"
475 FCallObjMethodD
<> 1 1 "0" - "" "" NullThrows "invoke"
481 CGetL $parent_members
483 IterInit
1 NK V
:$p L1
495 IterNext
1 NK V
:$p L2
506 InstanceOfD
"ReflectionException"
517 IterNext
0 NK V
:$traits_class L5
531 .method
{}{} [private static
"__Memoize"("""y:0:{}""")] (27,27) <"HH\\mixed" N > pu$E$value$memoize_impl(<"HH\\string" "HH\\string" > $atom) {
533 .declvars $trait_classes $trait_class $class $method $_
;
535 VerifyParamType $atom
558 IterInit
0 NK V
:$trait_class L2
563 NewObjD
"ReflectionClass"
570 FCallCtor
<LockWhileUnwinding
> 1 1 "0" - "" ""
584 FCallObjMethodD
<> 1 1 "0" - "" "" NullThrows "getMethod"
598 FCallObjMethodD
<> 2 1 "00" - "" "" NullThrows "invoke"
606 InstanceOfD
"Exception"
617 IterNext
0 NK V
:$trait_class L5
630 String
"\\C:@E::value unknown atom access: "
635 FCallCtor
<LockWhileUnwinding
> 1 1 "0" - "" ""
644 .method
{}{} [public static
"__Memoize"("""y:0:{}""") "__Override"("""y:0:{}""")] (27,27) <"HH\\keyset<HH\\string>" "HH\\keyset" extended_hint> pu$E$Members() {
653 FCallClsMethodD
<> 0 1 "" - "" "" "C" "pu$E$Members$memoize_impl"
657 .method
{}{} [public static
"__Memoize"("""y:0:{}""")] (27,27) <"HH\\mixed" N > pu$E$value(<"HH\\string" "HH\\string" > $atom) {
660 VerifyParamType $atom
671 FCallClsMethodD
<> 1 1 "" - "" "" "C" "pu$E$value$memoize_impl"
677 .class
{} D
(37,37) extends C
{
680 # trait_uses_trait.good.php ends here