1 | <?php |
||
12 | class ExtendServiceFromRegistryDefinition implements DumpableInterface |
||
13 | { |
||
14 | /** |
||
15 | * The identifier of the instance in the container. |
||
16 | * |
||
17 | * @var string|null |
||
18 | */ |
||
19 | private $identifier; |
||
20 | |||
21 | /** |
||
22 | * The key of the service provider in the registry. |
||
23 | * |
||
24 | * @var int |
||
25 | */ |
||
26 | private $serviceProviderKey; |
||
27 | |||
28 | /** |
||
29 | * @var DumpableInterface|null |
||
30 | */ |
||
31 | private $previousDefinition; |
||
32 | |||
33 | /** |
||
34 | * @var string |
||
35 | */ |
||
36 | private $serviceName; |
||
37 | |||
38 | /** |
||
39 | * @param string|null $identifier |
||
40 | * @param string $serviceName |
||
41 | * @param int $serviceProviderKey |
||
42 | * @param DumpableInterface|null $previousDefinition |
||
43 | */ |
||
44 | public function __construct(?string $identifier, string $serviceName, int $serviceProviderKey, DumpableInterface $previousDefinition = null) |
||
51 | |||
52 | /** |
||
53 | * Returns the identifier for this object in the container. |
||
54 | * If null, classes consuming this definition should assume the definition must be inlined. |
||
55 | * |
||
56 | * @return string|null |
||
57 | */ |
||
58 | public function getIdentifier(): ?string |
||
62 | |||
63 | /** |
||
64 | * Returns an InlineEntryInterface object representing the PHP code necessary to generate |
||
65 | * the container entry. |
||
66 | * |
||
67 | * @param string $containerVariable The name of the variable that allows access to the container instance. For instance: "$container", or "$this->container" |
||
68 | * @param array $usedVariables An array of variables that are already used and that should not be used when generating this code. |
||
69 | * |
||
70 | * @return InlineEntryInterface |
||
71 | */ |
||
72 | public function toPhpCode(string $containerVariable, array $usedVariables = array()): InlineEntryInterface |
||
85 | |||
86 | public function cloneWithoutIdentifier(): self |
||
90 | } |
||
91 |
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVar
assignment in line 1 and the$higher
assignment in line 2 are dead. The first because$myVar
is never used and the second because$higher
is always overwritten for every possible time line.