Example #1
0
 public function testCreatePropertyBuilder()
 {
     $factory = new PHPParser_BuilderFactory();
     $this->assertInstanceOf('PHPParser_Builder_Property', $factory->property('test'));
 }
 /**
  * Return class statement
  *
  * @param string          $newClassName
  * @param ReflectionClass $class
  *
  * @return \PHPParser_Builder_Class
  */
 private function getClass($newClassName, \ReflectionClass $class)
 {
     $parentClass = $class->name;
     $builder = $this->factory->class($newClassName)->extend($parentClass)->implement('Ray\\Aop\\WeavedInterface')->addStmt($this->factory->property('rayAopIntercept')->makePrivate()->setDefault(true))->addStmt($this->factory->property('rayAopBind')->makePublic());
     return $builder;
 }
 /**
  * @param \EBT\ExtensionBuilder\Domain\Model\ClassObject\Property $property
  * @return \PHPParser_Node_Stmt_Property
  */
 public function buildPropertyNode(\EBT\ExtensionBuilder\Domain\Model\ClassObject\Property $property)
 {
     $factory = new \PHPParser_BuilderFactory();
     $propertyNodeBuilder = $factory->property($property->getName());
     $propertyNode = $propertyNodeBuilder->getNode();
     $propertyNode->type = $property->getModifiers();
     foreach ($propertyNode->props as $subNode) {
         if ($subNode instanceof \PHPParser_Node_Stmt_PropertyProperty) {
             if (!is_null($property->getDefaultValueNode())) {
                 $subNode->default = $property->getDefaultValueNode();
             } else {
                 $subNode->default = $this->buildNodeFromValue($property->getDefault());
             }
         }
     }
     $this->addCommentAttributes($property, $propertyNode);
     $propertyNode->default = $property->getDefault();
     return $propertyNode;
 }