/** @var Since[] $since */
$since =
$docBlock->
getTagsByName('since'
);
if (\
count($since) !== 1
) { throw new \
RuntimeException(sprintf( '`@since` annotation is missing for hook "%s". All HookClasses need to be tagged with the `@since` annotation with the correct version, in which the hook was introduced.',
$hook,
));
} if ($reflection->
hasConstant('FUNCTION_NAME'
)) { $name =
$reflection->
getConstant('FUNCTION_NAME'
);
} else { $name =
$reflection->
getConstant('HOOK_NAME'
);
} \
assert(\
is_string($name));
$deprecationNotice = '';
if ($reflection->
implementsInterface(DeprecatedHook::
class)) { $deprecationNotice .= '**Deprecated:** ' .
$reflection->
getMethod('getDeprecationNotice'
)->
invoke(null
);
} if (is_subclass_of($hook, OptionalFunctionHook::
class)) {