/** * Retrieve list of parents * * @param string $type * @return array */ public function getParents($type) { if (!class_exists($type)) { return $this->_default; } return $this->_classReader->getParents($type) ?: $this->_default; }
/** * Get list of method parameters * * Retrieve an ordered list of constructor parameters. * Each value is an array with following entries: * * array( * 0, // string: Parameter name * 1, // string|null: Parameter type * 2, // bool: whether this param is required * 3, // mixed: default value * ); * * @param string $className * @return array|null */ public function getParameters($className) { // if the definition isn't found in the list gathered from the compiled file then using reflection to find it if (!array_key_exists($className, $this->_definitions)) { return $this->reader->getConstructor($className); } $definition = $this->_definitions[$className]; if ($definition !== null) { if (is_string($this->_signatures[$definition])) { $this->_signatures[$definition] = $this->_unpack($this->_signatures[$definition]); } return $this->_signatures[$definition]; } return null; }
/** * Retrieves list of classes for given path * * @param string $path path to dir with files * * @return array */ public function getList($path) { foreach ($this->classesScanner->getList($path) as $className) { $this->current = $className; // for errorHandler function try { if ($path != $this->generationDir) { // validate all classes except classes in generation dir $this->validator->validate($className); } $this->relations[$className] = $this->classReader->getParents($className); } catch (\Magento\Framework\Exception\ValidatorException $exception) { $this->log->add(Log::COMPILATION_ERROR, $className, $exception->getMessage()); } catch (\ReflectionException $e) { $this->log->add(Log::COMPILATION_ERROR, $className, $e->getMessage()); } } return $this->relations; }
/** * Retrieve parent relation information for type in a following format * array( * 'Parent_Class_Name', * 'Interface_1', * 'Interface_2', * ... * ) * * @param string $className * @return string[] */ public function getParents($className) { return $this->classReader->getParents($className); }