, * ignored_issues?: list, * php_version?: string, * } * > */ public function providerValidCodeParse(): iterable { yield 'maxIntegerInArrayKey' => [ 'code' => <<<'PHP' 1]; $i = [9223372036854775807 => 1]; // PHP_INT_MAX + 1 $so = ['9223372036854775808' => 1]; PHP, 'assertions' => [ '$s===' => 'array{9223372036854775807: 1}', '$i===' => 'array{9223372036854775807: 1}', '$so===' => "array{'9223372036854775808': 1}", ], ]; yield 'autoincrementAlmostOverflow' => [ 'code' => <<<'PHP' 0, 1, // expected key = PHP_INT_MAX ]; PHP, 'assertions' => [ '$a===' => 'array{9223372036854775806: 0, 9223372036854775807: 1}', ], ]; } /** * @return iterable< * string, * array{ * code: string, * error_message: string, * ignored_issues?: list, * php_version?: string, * } * > */ public function providerInvalidCodeParse(): iterable { yield 'integerOverflowInArrayKey' => [ 'code' => <<<'PHP' 1]; PHP, 'error_message' => 'InvalidArrayOffset', ]; yield 'autoincrementOverflow' => [ 'code' => <<<'PHP' 0, 1, // this is a fatal error ]; PHP, 'error_message' => 'InvalidArrayOffset', ]; yield 'autoincrementOverflowWithUnpack' => [ 'code' => <<<'PHP' 0, ...[1], // this is a fatal error ]; PHP, 'error_message' => 'InvalidArrayOffset', ]; } }