forked from phpstan/phpstan-src
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbug-14352.php
More file actions
64 lines (50 loc) · 937 Bytes
/
bug-14352.php
File metadata and controls
64 lines (50 loc) · 937 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php declare(strict_types = 1);
namespace Bug14352;
use ArrayAccess;
class TestArrayAccess implements ArrayAccess
{
public function doFoo(string $key, string $value): void
{
$this[$key] = $value; // fine because ArrayAccess
$this = $value; // should still fail
}
public function offsetExists(mixed $offset): bool
{
}
public function offsetGet(mixed $offset): mixed
{
}
public function offsetSet(mixed $offset, mixed $value): void
{
}
public function offsetUnset(mixed $offset): void
{
}
}
final class FinalTestPlain
{
public function doFoo(string $key, string $value): void
{
$this[$key] = $value;
$this = $value;
}
}
class TestPlain
{
public function doFoo(string $key, string $value): void
{
$this[$key] = $value;
$this = $value;
}
}
class TestStatic
{
static public function doFoo(string $value): void
{
$this = $value;
}
}
function doFoo(string $value): void
{
$this = $value;
}