public function leaveNode($node)
{
$non_public = [];
$has_magic_call = false;
if ($node instanceof Stmt\Class_) {
foreach ($node->getMethods() as $mnode) {
if (ParserHelper::isSameFunc($mnode->name, '__call')) {
$has_magic_call = true;
$magic_node = $mnode;
} elseif (!$mnode->isPublic()) {
$non_public[] = $mnode->name;
}
}
}
if ($has_magic_call && $non_public) {
$this->emitSpot($magic_node, $non_public);
}
}