| 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
$myVarassignment in line 1 and the$higherassignment in line 2 are dead. The first because$myVaris never used and the second because$higheris always overwritten for every possible time line.