diff --git a/apps/workflowengine/lib/Manager.php b/apps/workflowengine/lib/Manager.php index e93ad24b3a..c949e7f36f 100644 --- a/apps/workflowengine/lib/Manager.php +++ b/apps/workflowengine/lib/Manager.php @@ -695,7 +695,7 @@ class Manager implements IManager { } /** - * @return IEntity[] + * @return ICheck[] */ protected function getBuildInChecks(): array { try { diff --git a/lib/base.php b/lib/base.php index bb9b896341..a27e8ffc92 100644 --- a/lib/base.php +++ b/lib/base.php @@ -859,6 +859,7 @@ class OC { } private static function registerAppRestrictionsHooks() { + /** @var \OC\Group\Manager $groupManager */ $groupManager = self::$server->query(\OCP\IGroupManager::class); $groupManager->listen('\OC\Group', 'postDelete', function (\OCP\IGroup $group) { $appManager = self::$server->getAppManager(); diff --git a/lib/private/AppFramework/App.php b/lib/private/AppFramework/App.php index d93849a6db..d6bf7bc81c 100644 --- a/lib/private/AppFramework/App.php +++ b/lib/private/AppFramework/App.php @@ -34,6 +34,7 @@ namespace OC\AppFramework; use OC\AppFramework\DependencyInjection\DIContainer; use OC\AppFramework\Http\Dispatcher; +use OC\AppFramework\Http\Request; use OC\HintException; use OCP\AppFramework\Http; use OCP\AppFramework\Http\ICallbackResponse; @@ -114,9 +115,13 @@ class App { */ public static function main(string $controllerName, string $methodName, DIContainer $container, array $urlParams = null) { if (!is_null($urlParams)) { - $container->query(IRequest::class)->setUrlParameters($urlParams); + /** @var Request $request */ + $request = $container->query(IRequest::class); + $request->setUrlParameters($urlParams); } elseif (isset($container['urlParams']) && !is_null($container['urlParams'])) { - $container->query(IRequest::class)->setUrlParameters($container['urlParams']); + /** @var Request $request */ + $request = $container->query(IRequest::class); + $request->setUrlParameters($container['urlParams']); } $appName = $container['AppName']; diff --git a/lib/private/Collaboration/Collaborators/Search.php b/lib/private/Collaboration/Collaborators/Search.php index e7773858e5..1e0fd73979 100644 --- a/lib/private/Collaboration/Collaborators/Search.php +++ b/lib/private/Collaboration/Collaborators/Search.php @@ -68,14 +68,14 @@ class Search implements ISearch { foreach ($this->pluginList[$type] as $plugin) { /** @var ISearchPlugin $searchPlugin */ $searchPlugin = $this->c->resolve($plugin); - $hasMoreResults |= $searchPlugin->search($search, $limit, $offset, $searchResult); + $hasMoreResults = $searchPlugin->search($search, $limit, $offset, $searchResult) || $hasMoreResults; } } // Get from lookup server, not a separate share type if ($lookup) { $searchPlugin = $this->c->resolve(LookupPlugin::class); - $hasMoreResults |= $searchPlugin->search($search, $limit, $offset, $searchResult); + $hasMoreResults = $searchPlugin->search($search, $limit, $offset, $searchResult) || $hasMoreResults; } // sanitizing, could go into the plugins as well diff --git a/lib/public/IContainer.php b/lib/public/IContainer.php index 74fdf4aba5..cb29e52203 100644 --- a/lib/public/IContainer.php +++ b/lib/public/IContainer.php @@ -52,10 +52,14 @@ use Psr\Container\ContainerInterface; interface IContainer extends ContainerInterface { /** + * @template T + * * If a parameter is not registered in the container try to instantiate it * by using reflection to find out how to build the class * @param string $name the class name to resolve + * @psalm-param string|class-string $name * @return \stdClass + * @psalm-return ($name is class-string ? T : mixed) * @since 8.2.0 * @deprecated 20.0.0 use \Psr\Container\ContainerInterface::get * @throws ContainerExceptionInterface if the class could not be found or instantiated @@ -66,9 +70,13 @@ interface IContainer extends ContainerInterface { /** * Look up a service for a given name in the container. * + * @template T + * * @param string $name + * @psalm-param string|class-string $name * @param bool $autoload Should we try to autoload the service. If we are trying to resolve built in types this makes no sense for example * @return mixed + * @psalm-return ($name is class-string ? T : mixed) * @throws ContainerExceptionInterface if the query could not be resolved * @throws QueryException if the query could not be resolved * @since 6.0.0