public function getParameters() : array
{
if ($this->parameters === null) {
$parameters = [];
$isOptional = true;
foreach (array_reverse($this->classMethod->params) as $parameter) {
if (!$isOptional || $parameter->default === null) {
$isOptional = false;
}
$parameters[] = new PhpParameterFromParserNodeReflection($parameter->name, $isOptional, $this->realParameterTypes[$parameter->name], isset($this->phpDocParameterTypes[$parameter->name]) ? $this->phpDocParameterTypes[$parameter->name] : null, $parameter->byRef, $parameter->default);
}
$this->parameters = array_reverse($parameters);
}
return $this->parameters;
}