private function writeVariable(Operand $var)
{
while ($var instanceof Operand\Temporary && $var->original) {
$var = $var->original;
}
if ($var instanceof Operand\Variable) {
if ($var->name instanceof Literal) {
$name = $this->getVariableName($var);
$var = new Operand\Temporary($var);
$this->writeVariableName($name, $var, $this->block);
} else {
$this->readVariable($var->name);
// variable variable write - do not resolve the write for now, but we can register the read
}
}
return $var;
}