-
-
Notifications
You must be signed in to change notification settings - Fork 333
/
PropertyRename.php
67 lines (55 loc) · 1.6 KB
/
PropertyRename.php
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
65
66
67
<?php
declare(strict_types=1);
namespace Rector\Naming\ValueObject;
use PhpParser\Node\Stmt\ClassLike;
use PhpParser\Node\Stmt\Property;
use PhpParser\Node\Stmt\PropertyProperty;
use Rector\Core\Validation\RectorAssert;
use Rector\Naming\Contract\RenamePropertyValueObjectInterface;
final class PropertyRename implements RenamePropertyValueObjectInterface
{
public function __construct(
private readonly Property $property,
private readonly string $expectedName,
private readonly string $currentName,
private readonly ClassLike $classLike,
private readonly string $classLikeName,
private readonly PropertyProperty $propertyProperty
) {
// name must be valid
RectorAssert::propertyName($currentName);
RectorAssert::propertyName($expectedName);
}
public function getProperty(): Property
{
return $this->property;
}
public function isPrivateProperty(): bool
{
return $this->property->isPrivate();
}
public function getExpectedName(): string
{
return $this->expectedName;
}
public function getCurrentName(): string
{
return $this->currentName;
}
public function isAlreadyExpectedName(): bool
{
return $this->currentName === $this->expectedName;
}
public function getClassLike(): ClassLike
{
return $this->classLike;
}
public function getClassLikeName(): string
{
return $this->classLikeName;
}
public function getPropertyProperty(): PropertyProperty
{
return $this->propertyProperty;
}
}