Disallow ... without type in function typehints
[hiphop-php.git] / hphp / hack / test / typecheck / no_isset_in_strict / no_isset_in_strict_mode.php
blob9a7737e09a63e203c88ef69626dd86fb0a6498e7
1 <?hh // strict
3 class Foo {
4 public int $bar = 0;
5 public static int $baz = 0;
8 function f(): void {
9 $member = "mbr";
10 $a = dict[];
11 $b = isset($a[0]); // okay.
12 $b = isset($a[0][42]); // okay.
13 $b = isset($a[0]->member); // nope.
14 $b = isset(($a[0] as dynamic)->$member); // okay.
15 $c = isset($b); // nope.
16 $d = isset((new Foo())->bar); // nope.
17 $bar = "bar";
18 $dynfoo = new Foo() as dynamic;
19 $e = isset($dynfoo->$bar); // okay.
20 $baz = "baz";
21 $g = isset(Foo::$baz); // okay.
22 $h = isset($dynfoo::$baz); // okay?
23 $i = isset($dynfoo::baz); // okay - treated as a class const.