示例#1
0
 protected function createProperty(Tag $tag)
 {
     $name = trim($tag->getVariableName(), '$');
     $prop = new ClassProperty();
     $prop->name = $name;
     $prop->setType($this->getFQCN($tag->getType()));
     return $prop;
 }
示例#2
0
 /**
  * Parses Property node to ClassProperty
  *
  * @param $node Property
  *
  * @return ClassProperty
  */
 public function parse(Property $node, $modifier = 0, $comments = null)
 {
     $prop = new ClassProperty();
     $prop->name = $node->name;
     $prop->setModifier($modifier);
     if (empty($comments)) {
         $comments = $node->getAttribute("comments");
     }
     $comment = $this->commentParser->parse($comments);
     $var = $comment->getProperty($prop->name);
     if (!empty($var)) {
         $prop->doc = $comment->getDoc();
         $prop->type = $var->getType();
     }
     return $prop;
 }
示例#3
0
 /**
  * @return ClassProperty
  */
 public function getProperty($name)
 {
     $prop = null;
     if (array_key_exists($name, $this->properties)) {
         $prop = $this->properties[$name];
     }
     if (!$prop instanceof ClassProperty && array_key_exists('', $this->properties)) {
         $prop = $this->properties[''];
     }
     if (empty($prop)) {
         $var = $this->getVar($name);
         if ($var instanceof Variable) {
             $prop = new ClassProperty();
             $prop->name = $var->getName();
             $prop->setType($var->getType());
         }
     }
     return $prop;
 }