Example #1
0
 /**
  * @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;
 }