auth: Use phan templates for getRequestByClass
Phan is clever enough to understand when the return value depends on the name of the string passed in. This avoids lots of @phan-var annotations in all subclasses. Note that PHPCS rejects @template, ref T232256. Change-Id: I7b7c7fae9c80320cad41bedc2972a3a5e22e19b0
This commit is contained in:
parent
cd898eb4ed
commit
5485a3dda0
2 changed files with 7 additions and 0 deletions
|
|
@ -246,13 +246,18 @@ abstract class AuthenticationRequest {
|
|||
}
|
||||
|
||||
/**
|
||||
* @codingStandardsIgnoreStart
|
||||
* @template T
|
||||
* @codingStandardsIgnoreEnd
|
||||
* Select a request by class name.
|
||||
* @param AuthenticationRequest[] $reqs
|
||||
* @param string $class Class name
|
||||
* @phan-param class-string<T> $class
|
||||
* @param bool $allowSubclasses If true, also returns any request that's a subclass of the given
|
||||
* class.
|
||||
* @return AuthenticationRequest|null Returns null if there is not exactly
|
||||
* one matching request.
|
||||
* @phan-return T|null
|
||||
*/
|
||||
public static function getRequestByClass( array $reqs, $class, $allowSubclasses = false ) {
|
||||
$requests = array_filter( $reqs, function ( $req ) use ( $class, $allowSubclasses ) {
|
||||
|
|
|
|||
|
|
@ -96,7 +96,9 @@ class ResetPasswordSecondaryAuthenticationProvider extends AbstractSecondaryAuth
|
|||
}
|
||||
}
|
||||
|
||||
/** @var PasswordAuthenticationRequest $needReq */
|
||||
$needReq = $data->req ?? new PasswordAuthenticationRequest();
|
||||
'@phan-var PasswordAuthenticationRequest $needReq';
|
||||
if ( !$needReq->action ) {
|
||||
$needReq->action = AuthManager::ACTION_CHANGE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue