[ 'code' => ' [ '$a' => 'string', ], ], 'classConstFeatures' => [ 'code' => '> 2; const SHIFT2 = self::ONE << 1; const BITAND = 1 & 1; const BITOR = 1 | 1; const BITXOR = 1 ^ 1; /** @var int */ public $four = self::ONE + self::THREE; /** * @param int $a * @return int */ public function f($a = self::ONE + self::THREE) { return $a; } } $c1 = C::ONE; $c2 = C::TWO; $c3 = C::THREE; $c1_3rd = C::ONE_THIRD; $c_sentence = C::SENTENCE; $cf = (new C)->f(); $c4 = (new C)->four; $shift = C::SHIFT; $shift2 = C::SHIFT2; $bitand = C::BITAND; $bitor = C::BITOR; $bitxor = C::BITXOR;', 'assertions' => [ '$c1' => 'int', '$c2===' => '2', '$c3===' => '3', '$c1_3rd' => 'float|int', '$c_sentence' => 'string', '$cf' => 'int', '$c4' => 'int', '$shift' => 'int', '$shift2' => 'int', '$bitand' => 'int', '$bitor' => 'int', '$bitxor' => 'int', ], ], 'constFeatures' => [ 'code' => ' [ '$one' => 'int', '$two' => 'int', '$bitwise' => 'int', '$shift' => 'int', '$shift2' => 'int', ], ], 'exponentiation' => [ 'code' => ' [ 'code' => ' [ 'code' => ' [ 'code' => ' [ 'code' => ' [ 'code' => '