private function getVariableAccesses(FunctionLike $function) : array
{
$traverser = new NodeTraverser();
$accessLocator = new VariableAccessLocatorVisitor();
$traverser->addVisitor(new FunctionScopeIsolatingVisitor($accessLocator));
$traverser->traverse([$function->getStmts()]);
return $accessLocator->getFoundVariableAccesses();
}