/** * @param \PhpParser\Node\Stmt\Property $propertyNode * @return \EBT\ExtensionBuilder\Domain\Model\ClassObject\Property */ public function buildPropertyObject(\PhpParser\Node\Stmt\Property $propertyNode) { $propertyName = ''; $propertyDefault = null; foreach ($propertyNode->props as $subNode) { if ($subNode instanceof \PhpParser\Node\Stmt\PropertyProperty) { $propertyName = $subNode->name; if ($subNode->default) { $propertyDefault = $subNode->default; } } } $propertyObject = new Model\ClassObject\Property($propertyName); $propertyObject->setModifiers($propertyNode->type); if (null !== $propertyDefault) { $propertyObject->setValue(NodeConverter::getValueFromNode($propertyDefault), false, $propertyObject->isTaggedWith('var')); $propertyObject->setDefaultValueNode($propertyDefault); } $this->addCommentsFromAttributes($propertyObject, $propertyNode); return $propertyObject; }