protected function addProperty(PropertyNode $node) { foreach ($node->props as $prop) { $property = new PropertyReflection($prop->name, $prop->getLine()); $property->setModifiers($node->type); $property->setDefault($prop->default); $comment = $this->context->getDocBlockParser()->parse($node->getDocComment(), $this->context, $property); $property->setDocComment($node->getDocComment()); $property->setShortDesc($comment->getShortDesc()); $property->setLongDesc($comment->getLongDesc()); if ($errors = $comment->getErrors()) { $property->setErrors($errors); } else { if ($tag = $comment->getTag('var')) { $property->setHint($this->resolveHint($tag[0][0])); $property->setHintDesc($tag[0][1]); } $property->setTags($comment->getOtherTags()); } if ($this->context->getFilter()->acceptProperty($property)) { $this->context->getClass()->addProperty($property); if ($errors) { $this->context->addErrors((string) $property, $prop->getLine(), $errors); } } } }