public function appendParameter($parameter) {
    if (is_callable($parameter)) {
      $parameter = $parameter($this);
    }
    if (!($parameter instanceof ParameterNode)) {
      throw new \InvalidArgumentException();
    }
    $this->parameters->appendItem($parameter);
    return $this;
  }
public function appendParameter($parameter) {
    if (is_callable($parameter)) {
      $parameter = $parameter($this);
    }
    if (!($parameter instanceof ParameterNode)) {
      throw new \InvalidArgumentException();
    }
    $this->parameters->appendItem($parameter);
    return $this;
  }
public function appendParameter ( $ parameter ) { if ( is_callable ( $ parameter ) ) { $ parameter = $ parameter ( $ this ) ; } if ( ! ( $ parameter instanceof ParameterNode ) ) { throw new \ InvalidArgumentException ( ) ; } $ this -> parameters -> appendItem ( $ parameter ) ; return $ this ; }
Appends a parameter.

@param \Pharborist\Functions\ParameterNode|callable $parameter
Either an existing parameter node, or a callable which will return
the parameter to append. The callable will receive $this as its
only argument.

@return $this

@throws \InvalidArgumentException
Appends a parameter .