public static function getActionIgnoredValidationArguments($objectManager)
{
$reflectionService = $objectManager->get(ReflectionService::class);
$result = [];
$className = get_called_class();
$methodNames = get_class_methods($className);
foreach ($methodNames as $methodName) {
if (strlen($methodName) > 6 && strpos($methodName, 'Action', strlen($methodName) - 6) !== false) {
$ignoreValidationAnnotations = $reflectionService->getMethodAnnotations($className, $methodName, Flow\IgnoreValidation::class);
/** @var Flow\IgnoreValidation $ignoreValidationAnnotation */
foreach ($ignoreValidationAnnotations as $ignoreValidationAnnotation) {
if (!isset($ignoreValidationAnnotation->argumentName)) {
throw new \InvalidArgumentException('An IgnoreValidation annotation on a method must be given an argument name.', 1318456607);
}
$result[$methodName][$ignoreValidationAnnotation->argumentName] = ['evaluate' => $ignoreValidationAnnotation->evaluate];
}
}
}
return $result;
}