aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/AppFramework/Utility
diff options
context:
space:
mode:
authorCarl Schwan <carl@carlschwan.eu>2022-01-19 23:30:34 +0100
committerCarl Schwan <carl@carlschwan.eu>2022-04-04 10:28:26 +0200
commit7d272c54d013538746d6731097ec37f360effb5d (patch)
treed754c4184926ea8011bd2b0fe276adebaf4082f6 /lib/private/AppFramework/Utility
parentcf4c77e064fd52d891bc842d78431cceb2f34952 (diff)
downloadnextcloud-server-7d272c54d013538746d6731097ec37f360effb5d.tar.gz
nextcloud-server-7d272c54d013538746d6731097ec37f360effb5d.zip
Add a built-in profiler inside Nextcloud
The webui is provided by a seperate application named profiler Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'lib/private/AppFramework/Utility')
-rw-r--r--lib/private/AppFramework/Utility/SimpleContainer.php8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/private/AppFramework/Utility/SimpleContainer.php b/lib/private/AppFramework/Utility/SimpleContainer.php
index 598c66b6aba..429382aa223 100644
--- a/lib/private/AppFramework/Utility/SimpleContainer.php
+++ b/lib/private/AppFramework/Utility/SimpleContainer.php
@@ -38,6 +38,7 @@ use Psr\Container\ContainerInterface;
use ReflectionClass;
use ReflectionException;
use ReflectionParameter;
+use ReflectionNamedType;
use function class_exists;
/**
@@ -78,12 +79,13 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
$resolveName = $parameter->getName();
// try to find out if it is a class or a simple parameter
- if ($parameterType !== null && !$parameterType->isBuiltin()) {
+ if ($parameterType !== null && ($parameterType instanceof ReflectionNamedType) && !$parameterType->isBuiltin()) {
$resolveName = $parameterType->getName();
}
try {
- $builtIn = $parameter->hasType() && $parameter->getType()->isBuiltin();
+ $builtIn = $parameter->hasType() && ($parameter->getType() instanceof ReflectionNamedType)
+ && $parameter->getType()->isBuiltin();
return $this->query($resolveName, !$builtIn);
} catch (QueryException $e) {
// Service not found, use the default value when available
@@ -91,7 +93,7 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
return $parameter->getDefaultValue();
}
- if ($parameterType !== null && !$parameterType->isBuiltin()) {
+ if ($parameterType !== null && ($parameterType instanceof ReflectionNamedType) && !$parameterType->isBuiltin()) {
$resolveName = $parameter->getName();
try {
return $this->query($resolveName);