1 | <?php |
||
10 | class UnsetCast extends AbstractExpressionCompiler |
||
11 | { |
||
12 | protected $name = 'PhpParser\Node\Expr\Cast\Unset_'; |
||
13 | |||
14 | /** |
||
15 | * (unset) {$expr} |
||
16 | * |
||
17 | * @param \PhpParser\Node\Expr\Cast\Unset_ $expr |
||
18 | * @param Context $context |
||
19 | * @return CompiledExpression |
||
20 | */ |
||
21 | 1 | protected function compile($expr, Context $context) |
|
27 | } |
||
28 |
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.