MODIFIER_PUBLIC: Type * 'byRef' => false : Whether to return by reference * 'params' => array() : Parameters * 'stmts' => array() : Statements * @param array $attributes Additional attributes */ public function __construct($name, array $subNodes = array(), array $attributes = array()) { parent::__construct( $subNodes + array( 'type' => PHPParser_Node_Stmt_Class::MODIFIER_PUBLIC, 'byRef' => false, 'params' => array(), 'stmts' => array(), ), $attributes ); $this->name = $name; if (($this->type & PHPParser_Node_Stmt_Class::MODIFIER_STATIC) && ('__construct' == $this->name || '__destruct' == $this->name || '__clone' == $this->name) ) { throw new PHPParser_Error(sprintf('"%s" method cannot be static', $this->name)); } } }