public function finish()
{
// Check all call
foreach ($this->callList as $call) {
$cname = $call['name'];
if ($this->declareTable->has($cname)) {
if ($this->isMismatch($this->declareTable->get($cname), $call['pos'])) {
$this->emitSpot($call);
}
} elseif (substr($cname, 0, 2) == '->' && $this->methodTable->has($cname)) {
$suspect = [];
foreach ($this->methodTable->get($cname) as $class => $posbit) {
if ($this->isMismatch($posbit, $call['pos'])) {
$suspect[] = $class;
}
}
if ($suspect) {
$this->emitSpot($call, $suspect);
}
}
}
}