convert ***sort builtins to use inout instead of references
[hiphop-php.git] / hphp / test / quick / class_implements.php
blob5773aa16e6a530b32d591e62668fc59c39724744
1 <?hh
2 interface IA {}
3 interface IB {}
5 class Base implements IA, IB {}
6 class Derived extends Base implements IA {}
8 interface IC {}
9 class DerivedDerived extends Derived implements IC {}
11 interface ID extends IA {}
12 interface IE extends ID {}
13 interface IG extends IE, IB {}
15 // IE, ID, IA
16 class LotsOfInterfaces implements IE {}
18 // IG, IE, ID, IA, IB
19 class MostOfTheInterfaces implements IG {}
21 // literally all of them. literally.
22 class AllTheInterfaces extends MostOfTheInterfaces implements IC {}
23 <<__EntryPoint>> function main(): void {
24 echo "interfaces of Base:\n";
25 $x = class_implements('Base');
26 ksort(inout $x);
27 var_dump($x);
28 echo "\ninterfaces of Derived:\n";
29 $x = class_implements('Derived');
30 ksort(inout $x);
31 var_dump($x);
32 echo "\ninterfaces of DerivedDerived:\n";
33 $x = class_implements('DerivedDerived');
34 ksort(inout $x);
35 var_dump($x);
36 echo "\ninterfaces of LotsOfInterfaces:\n";
37 $x = class_implements('LotsOfInterfaces');
38 ksort(inout $x);
39 var_dump($x);
40 echo "\ninterfaces of MostOfTheInterfaces:\n";
41 $x = class_implements('MostOfTheInterfaces');
42 ksort(inout $x);
43 var_dump($x);
44 echo "\ninterfaces of AllTheInterfaces:\n";
45 $x = class_implements('AllTheInterfaces');
46 ksort(inout $x);
47 var_dump($x);