private function parseArguments(\ReflectionMethod
$method, DocBlock
$docBlock, array
$scriptServices): array
{ $arguments =
[];
/** @var Param[] $paramDocs */
$paramDocs =
$docBlock->
getTagsWithTypeByName('param'
);
foreach ($method->
getParameters() as $parameter) { try { $paramDoc =
$this->
findDocForParam($paramDocs,
$parameter->
getName(),
$method,
$docBlock);
$typeInformation =
$this->
getTypeInformation($parameter->
getType(),
$paramDoc,
$scriptServices);
$default =
$parameter->
isDefaultValueAvailable() ?
mb_strtolower(var_export($parameter->
getDefaultValue(), true
)) : null;
$arguments[] =
array_merge( ['name' =>
$parameter->
getName(), 'default' =>
$default],
$typeInformation );
} catch (\Exception
$e) { $typeInformation =
$this->
tryParseInvalidParam($docBlock,
$parameter->
getName());