Enforce modularity boundaries for classes
[hiphop-php.git] / hphp / test / slow / modules / basic-1.php
blobecba807be4573401a983ecbb36125e324b164831
1 <?hh
3 <<file:__EnableUnstableFeatures("modules")>>
5 module A;
7 <<__EntryPoint>>
8 function main() {
9 include 'basic-1.inc';
10 Cls::foo_static();
11 __hhvm_intrinsics\launder_value(new Cls)->foo();
12 foo();
13 __hhvm_intrinsics\launder_value("foo")();
14 __hhvm_intrinsics\launder_value("Cls::foo_static")();
15 __hhvm_intrinsics\launder_value(vec["Cls", "foo_static"])();
16 __hhvm_intrinsics\launder_value(vec[new Cls, "foo"])();
18 new InternalCls();
19 $x = __hhvm_intrinsics\launder_value("InternalCls");
20 new $x;
21 new ReifiedInternalCls();
22 $y = __hhvm_intrinsics\launder_value("ReifiedInternalCls");
23 new $y;
24 InternalCls::foo_static();
25 $x::foo_static();
26 __hhvm_intrinsics\launder_value(vec[$x, "foo_static"])();
27 __hhvm_intrinsics\launder_value("InternalCls::foo_static")();