git subrepo commit mailcow/src/mailcow-dockerized
subrepo: subdir: "mailcow/src/mailcow-dockerized"
merged: "308860af"
upstream: origin: "https://github.com/mailcow/mailcow-dockerized.git"
branch: "master"
commit: "3f1a5af8"
git-subrepo: version: "0.4.5"
origin: "???"
commit: "???"
Change-Id: I5d51c14b45db54fe706be40a591ddbfcea50d4b0
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/Macro.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/Macro.php
index 7dab190..8392587 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/Macro.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/Macro.php
@@ -2,232 +2,26 @@
declare(strict_types=1);
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
namespace Carbon\PHPStan;
-use Closure;
use PHPStan\Reflection\Php\BuiltinMethodReflection;
-use PHPStan\TrinaryLogic;
-use ReflectionClass;
-use ReflectionFunction;
use ReflectionMethod;
-use ReflectionParameter;
-use ReflectionType;
-use stdClass;
-use Throwable;
-final class Macro implements BuiltinMethodReflection
+$method = new ReflectionMethod(BuiltinMethodReflection::class, 'getFileName');
+
+require $method->hasReturnType()
+ ? __DIR__.'/../../../lazy/Carbon/PHPStan/MacroStrongType.php'
+ : __DIR__.'/../../../lazy/Carbon/PHPStan/MacroWeakType.php';
+
+final class Macro extends LazyMacro
{
- /**
- * The class name.
- *
- * @var class-string
- */
- private $className;
-
- /**
- * The method name.
- *
- * @var string
- */
- private $methodName;
-
- /**
- * The reflection function/method.
- *
- * @var ReflectionFunction|ReflectionMethod
- */
- private $reflectionFunction;
-
- /**
- * The parameters.
- *
- * @var ReflectionParameter[]
- */
- private $parameters;
-
- /**
- * The is static.
- *
- * @var bool
- */
- private $static = false;
-
- /**
- * Macro constructor.
- *
- * @param string $className
- * @phpstan-param class-string $className
- *
- * @param string $methodName
- * @param callable $macro
- */
- public function __construct(string $className, string $methodName, $macro)
- {
- $this->className = $className;
- $this->methodName = $methodName;
- $this->reflectionFunction = \is_array($macro)
- ? new ReflectionMethod($macro[0], $macro[1])
- : new ReflectionFunction($macro);
- $this->parameters = $this->reflectionFunction->getParameters();
-
- if ($this->reflectionFunction->isClosure()) {
- try {
- /** @var Closure $closure */
- $closure = $this->reflectionFunction->getClosure();
- $boundClosure = Closure::bind($closure, new stdClass);
- $this->static = (!$boundClosure || (new ReflectionFunction($boundClosure))->getClosureThis() === null);
- } catch (Throwable $e) {
- $this->static = true;
- }
- }
- }
-
- /**
- * {@inheritdoc}
- */
- public function getDeclaringClass(): ReflectionClass
- {
- return new ReflectionClass($this->className);
- }
-
- /**
- * {@inheritdoc}
- */
- public function isPrivate(): bool
- {
- return false;
- }
-
- /**
- * {@inheritdoc}
- */
- public function isPublic(): bool
- {
- return true;
- }
-
- /**
- * {@inheritdoc}
- */
- public function isFinal(): bool
- {
- return false;
- }
-
- /**
- * {@inheritdoc}
- */
- public function isInternal(): bool
- {
- return false;
- }
-
- /**
- * {@inheritdoc}
- */
- public function isAbstract(): bool
- {
- return false;
- }
-
- /**
- * {@inheritdoc}
- */
- public function isStatic(): bool
- {
- return $this->static;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getDocComment(): ?string
- {
- return $this->reflectionFunction->getDocComment() ?: null;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getFileName()
- {
- return $this->reflectionFunction->getFileName();
- }
-
- /**
- * {@inheritdoc}
- */
- public function getName(): string
- {
- return $this->methodName;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getParameters(): array
- {
- return $this->parameters;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getReturnType(): ?ReflectionType
- {
- return $this->reflectionFunction->getReturnType();
- }
-
- /**
- * {@inheritdoc}
- */
- public function getStartLine()
- {
- return $this->reflectionFunction->getStartLine();
- }
-
- /**
- * {@inheritdoc}
- */
- public function getEndLine()
- {
- return $this->reflectionFunction->getEndLine();
- }
-
- /**
- * {@inheritdoc}
- */
- public function isDeprecated(): TrinaryLogic
- {
- return TrinaryLogic::createFromBoolean(
- $this->reflectionFunction->isDeprecated() ||
- preg_match('/@deprecated/i', $this->getDocComment() ?: '')
- );
- }
-
- /**
- * {@inheritdoc}
- */
- public function isVariadic(): bool
- {
- return $this->reflectionFunction->isVariadic();
- }
-
- /**
- * {@inheritdoc}
- */
- public function getPrototype(): BuiltinMethodReflection
- {
- return $this;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getReflection(): ?ReflectionMethod
- {
- return $this->reflectionFunction instanceof ReflectionMethod
- ? $this->reflectionFunction
- : null;
- }
}