try { $reflectionClass =
new \
ReflectionClass($class);
} catch (\ReflectionException
) { return null;
} $reflectionConstructor =
$reflectionClass->
getConstructor();
if (!
$reflectionConstructor) { return null;
} try { $docBlock =
$this->docBlockFactory->
create($reflectionConstructor,
$this->contextFactory->
createFromReflector($reflectionConstructor));
return $this->
filterDocBlockParams($docBlock,
$property);
} catch (\InvalidArgumentException
) { return null;
} } private function filterDocBlockParams(DocBlock
$docBlock, string
$allowedParam): DocBlock
{ $tags =
array_values(array_filter($docBlock->
getTagsByName('param'
),
fn ($tag) =>
$tag instanceof DocBlock\Tags\Param &&
$allowedParam ===
$tag->
getVariableName()));