,error_levels?:string[]}>
*/
public function providerValidCodeParse()
{
return [
'newVarInIf' => [
' [
' [
' [
' [
' 5) {
echo "hello";
} elseif ($row = (rand(0, 10) ? [5] : null)) {
echo $row[0];
}',
],
'ifNotEqualsFalse' => [
' [
' [
' [
' [
' [
' [
' [
' 0;
if ($a) {
echo (string)$matches[1];
}',
],
'functionExists' => [
' [
'foo) {
echo $a;
}',
],
'globalReturn' => [
' [
' [
' 1 && is_string($a)) {
throw new \Exception("bad");
}',
'assertions' => [
'$a' => 'string|null',
],
],
'repeatAssertionWithOther' => [
' 1 || is_string($a)) {
if (is_string($a)) {
echo strpos("e", $a);
}
}',
'assertions' => [
'$a' => 'string|null',
],
'error_levels' => ['PossiblyFalseArgument'],
],
'refineOredType' => [
' [
' [
' [
'value)) {
$this->value = ["x", "y"];
echo count($this->value) - 2;
}',
'assertions' => [],
'error_levels' => ['MixedPropertyAssignment', 'MixedArgument'],
],
'typedStatic' => [
' [
'
= $this->getMessage() ?>
',
],
];
}
/**
* @return iterable
*/
public function providerInvalidCodeParse()
{
return [
'possiblyUndefinedVarInIf' => [
' 'PossiblyUndefinedGlobalVariable - src' . DIRECTORY_SEPARATOR . 'somefile.php:6:26 - Possibly undefined global '
. 'variable $b, first seen on line 3',
],
'possiblyUndefinedArrayInIf' => [
' 'PossiblyUndefinedGlobalVariable - src' . DIRECTORY_SEPARATOR . 'somefile.php:3:25 - Possibly undefined global '
. 'variable $array, first seen on line 3',
],
'invalidGlobal' => [
' 'InvalidGlobal',
],
'thisInStatic' => [
' 'InvalidScope',
],
'static' => [
' 'MixedReturnStatement',
],
'staticNullRef' => [
' 'DocblockTypeContradiction',
],
'typedStaticCannotHaveNullDefault' => [
' 'ReferenceConstraintViolation',
],
'typedStaticCannotBeAssignedInt' => [
' 'ReferenceConstraintViolation',
],
'typedStaticCannotBeAssignedNull' => [
' 'ReferenceConstraintViolation',
],
];
}
}