/** * @param stdClass $class * @param string $name * * @return BaseClass */ public function translateToBaseClass(stdClass $class, $name = '') { $baseClass = new BaseClass($this->yaml['namespace'], $name); $baseClass->setProperties($this->translatePropertiesToClassProperty($class->properties)); $baseClass->setMethods($this->translateMethodsToClassMethod($class->methods)); if (isset($class->namespace)) { $baseClass->setNameSpace($class->namespace); } if (isset($class->extends)) { $baseClass->setExtends($class->extends); } if (isset($class->implements)) { $baseClass->setImplements($class->implements); } if (isset($class->useStatements)) { foreach ($class->useStatements as $useStatement) { $baseClass->addUseStatement(new UseStatement($useStatement)); } } return $baseClass; }