/** * @param array $stmts * @param ClassCollector $classCollector * @param Logger $logger * @param string $fileName * @param array $classCollected * * @return array */ public function nodeToZephir(array $stmts, ClassCollector $classCollector, Logger $logger, $fileName = null, array $classCollected = array()) { $classInformation = ClassInformationFactory::getInstance(); $metadata = $classInformation->getClassesMetdata($stmts); $this->implementsExist($metadata, $classCollector); return array('code' => $this->dispatcher->convert($stmts, $metadata, $classCollector, $logger), 'namespace' => $metadata->getNamespace(), 'additionalClass' => $this->findAdditionalClasses($stmts, $logger)); }