classes); natcasesort($list); return array_values($list); } public function enterNode(Node $node) { if ($node instanceof Node\Stmt\Class_) { if (!empty($node->extends)) { $this->classes[$node->extends->toString()] = true; } if (!empty($node->implements)) { foreach($node->implements as $implement) { $this->classes[$implement->toString()] = true; } } } if ($node instanceof Node\Stmt\UseUse) { if (!empty($node->name) && $node->name instanceof Node\Name) { $this->classes[$node->name->toString()] = true; } } if ($node instanceof Node\Expr\New_) { if (!empty($node->class) && $node->class->name instanceof Node\Name) { $this->classes[$node->class->toString()] = true; } } if ($node instanceof Node\Expr\ClassConstFetch) { if (!empty($node->class) && $node->class instanceof Node\Name) { $this->classes[$node->class->toString()] = true; } } } }