PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / nesbot / carbon / src / Carbon / PHPStan / MacroExtension.php
independent-analytics / vendor / nesbot / carbon / src / Carbon / PHPStan Last commit date
AbstractMacro.php 2 years ago Macro.php 2 years ago MacroExtension.php 2 years ago MacroScanner.php 2 years ago
MacroExtension.php
64 lines
1 <?php
2
3 /**
4 * This file is part of the Carbon package.
5 *
6 * (c) Brian Nesbitt <brian@nesbot.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace IAWPSCOPED\Carbon\PHPStan;
12
13 use IAWPSCOPED\PHPStan\Reflection\Assertions;
14 use IAWPSCOPED\PHPStan\Reflection\ClassReflection;
15 use IAWPSCOPED\PHPStan\Reflection\MethodReflection;
16 use IAWPSCOPED\PHPStan\Reflection\MethodsClassReflectionExtension;
17 use IAWPSCOPED\PHPStan\Reflection\Php\PhpMethodReflectionFactory;
18 use IAWPSCOPED\PHPStan\Reflection\ReflectionProvider;
19 use IAWPSCOPED\PHPStan\Type\TypehintHelper;
20 /**
21 * Class MacroExtension.
22 *
23 * @codeCoverageIgnore Pure PHPStan wrapper.
24 * @internal
25 */
26 final class MacroExtension implements MethodsClassReflectionExtension
27 {
28 /**
29 * @var PhpMethodReflectionFactory
30 */
31 protected $methodReflectionFactory;
32 /**
33 * @var MacroScanner
34 */
35 protected $scanner;
36 /**
37 * Extension constructor.
38 *
39 * @param PhpMethodReflectionFactory $methodReflectionFactory
40 * @param ReflectionProvider $reflectionProvider
41 */
42 public function __construct(PhpMethodReflectionFactory $methodReflectionFactory, ReflectionProvider $reflectionProvider)
43 {
44 $this->scanner = new MacroScanner($reflectionProvider);
45 $this->methodReflectionFactory = $methodReflectionFactory;
46 }
47 /**
48 * {@inheritdoc}
49 */
50 public function hasMethod(ClassReflection $classReflection, string $methodName) : bool
51 {
52 return $this->scanner->hasMethod($classReflection->getName(), $methodName);
53 }
54 /**
55 * {@inheritdoc}
56 */
57 public function getMethod(ClassReflection $classReflection, string $methodName) : MethodReflection
58 {
59 $builtinMacro = $this->scanner->getMethod($classReflection->getName(), $methodName);
60 $supportAssertions = \class_exists(Assertions::class);
61 return $this->methodReflectionFactory->create($classReflection, null, $builtinMacro, $classReflection->getActiveTemplateTypeMap(), [], TypehintHelper::decideTypeFromReflection($builtinMacro->getReturnType()), null, null, $builtinMacro->isDeprecated()->yes(), $builtinMacro->isInternal(), $builtinMacro->isFinal(), $supportAssertions ? null : $builtinMacro->getDocComment(), $supportAssertions ? Assertions::createEmpty() : null, null, $builtinMacro->getDocComment(), []);
62 }
63 }
64