DynamicMethodsClassReflectionExtension   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 5
c 2
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::class)) {
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