/**
* 构造一个属性
*
* @param $flag
* @param $name
* @param $value
* @return array
*/
private function generateProperty ($flag, $name, $value)
{$factory = new BuilderFactory ();
$property = $factory->property ($name);
if ($flag == self::MODIFIER_PROTECTED) {$property = $property->makeProtected ();} else if ($flag == self::MODIFIER_PRIVATE) {$property = $property->makePrivate ();} else if ($flag == self::MODIFIER_PUBLIC) {$property = $property->makePublic ();}
if (!is_null ($value)) {$property = $property->setDefault ($value);
}
$node = $factory->namespace ('NameSpace2')
->addStmt ($factory->class ('SomeOtherClass')
->addStmt ($property)
)
->getNode ();
$stmts = array ($node);
return $stmts [0]->stmts [0]->stmts [0];
}