switch(get_class($node))
{
case Assign::class:
/** @var Assign $node */
$var['name'] = $node->var;
break;
case Property::class:
/** @var Property $node */
$var['name'] = first($node->props);
break;
default:
throw new \LogicException("Unimplemented var node detected!");
}
// No automatic completion on ->ame - doesn't know what first() does to $node->props.
// Super deep inspection of functions required.
$var['name'] = first($node->props)->name;