forked from phpstan/phpstan-src
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patharraySum.php
More file actions
28 lines (25 loc) · 791 Bytes
/
arraySum.php
File metadata and controls
28 lines (25 loc) · 791 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
namespace Levels\ArraySum;
class Foo
{
/**
* @param array<int> $arrayOfInt
* @param array<string> $arrayOfString
* @param array<int|string> $arrayOfUnion
* @param mixed $explicitlyMixed
*/
public function test(array $arrayOfInt, array $arrayOfString, array $arrayOfUnion, $explicitlyMixed, $implicitlyMixed): void
{
$objectOrArrayOfInt = rand(0, 1) ? new Foo() : $arrayOfInt;
$objectOrArrayOfString = rand(0, 1) ? new Foo() : $arrayOfString;
$objectOrArrayOfUnion = rand(0, 1) ? new Foo() : $arrayOfUnion;
array_sum($arrayOfInt);
array_sum($arrayOfString);
array_sum($arrayOfUnion);
array_sum($objectOrArrayOfInt);
array_sum($objectOrArrayOfString);
array_sum($objectOrArrayOfUnion);
array_sum($explicitlyMixed);
array_sum($implicitlyMixed);
}
}