Passed
Push — master ( 476c9e...533bc0 )
by Fabio
04:31
created

DynamicMethodsClassReflectionExtension   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 5
c 1
b 0
f 0
dl 0
loc 14
rs 10
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getMethod() 0 3 1
A hasMethod() 0 7 3
1
<?php
2
3
namespace Prado\PHPStan;
4
5
use PHPStan\Reflection\MethodsClassReflectionExtension;
0 ignored issues
show
Bug introduced by
The type PHPStan\Reflection\MethodsClassReflectionExtension was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use PHPStan\Reflection\ClassReflection;
0 ignored issues
show
Bug introduced by
The type PHPStan\Reflection\ClassReflection was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
use PHPStan\Reflection\MethodReflection;
0 ignored issues
show
Bug introduced by
The type PHPStan\Reflection\MethodReflection was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
8
9
class DynamicMethodsClassReflectionExtension implements MethodsClassReflectionExtension
10
{
11
     public function hasMethod(ClassReflection $classReflection, string $methodName): bool
12
     {
13
          if (!$classReflection->is('Prado\TComponent')) {
14
               return false;
15
          }
16
17
          return strncasecmp($methodName, 'dy', 2) === 0 || strncasecmp($methodName, 'fx', 2) === 0;
18
     }
19
20
     public function getMethod(ClassReflection $classReflection, string $methodName): MethodReflection
21
     {
22
          return new DynamicMethodReflection($classReflection, $methodName);
23
     }
24
}
25