Ejemplo n.º 1
0
 /**
  * @param array $definition
  * @param ClassConst[] $constants
  * @param $versions
  *
  * @return PhpParser\Node
  *
  */
 private function createValueClassFromVersions(array $definition, $constants, $versions)
 {
     $className = $this->getClassName($definition);
     $factory = new BuilderFactory();
     return $factory->namespace($this->getNamespace($definition))->addStmt($factory->class($className)->addStmts($constants)->addStmt($this->createValueField($factory, Helper::createArray($versions)))->addStmt($this->createAllowedVersionsField($factory, Helper::createArray(array_keys($versions))))->addStmt($this->createGetValueMethod($factory, $className))->addStmt($this->createHasValueMethod($factory, $className))->addStmt($this->createGetDefaultVersionMethod($factory, $this->getDefaultVersion($definition)))->addStmt($this->createIsVersionAllowedMethod($factory, $className)))->getNode();
 }