E::__invoke()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 6
nc 1
nop 0
dl 0
loc 33
ccs 1
cts 1
cp 1
crap 1
rs 10
c 1
b 0
f 0
1
<?php
2
3
/**
4
 * For the full copyright and license information, please view
5
 * the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types=1);
9
10
namespace loophp\combinator\Combinator;
11
12
use Closure;
13
use loophp\combinator\Combinator;
14
15
/**
16
 * Class E.
17
 *
18
 * @template NewAType
19
 * @template NewBType
20
 * @template NewCType
21
 * @template NewDType
22
 * @template NewEType
23
 *
24
 * phpcs:disable Generic.Files.LineLength.TooLong
25
 * phpcs:disable Generic.WhiteSpace.ScopeIndent.IncorrectExact
26
 */
27 2
final class E extends Combinator
28
{
29
    /**
30
     * @return Closure(callable(NewAType): callable(NewDType): NewEType): Closure(NewAType): Closure(callable(NewBType): callable(NewCType): NewDType): Closure(NewBType): Closure(NewCType): NewEType
31
     */
32
    public function __invoke(): Closure
33
    {
34
        return
35
            /**
36
             * @param callable(NewAType): (callable(NewDType): NewEType) $f
37
             *
38
             * @return Closure(NewAType): Closure(callable(NewBType): callable(NewCType): NewDType): Closure(NewBType): Closure(NewCType): NewEType
39
             */
40
            static fn (callable $f): Closure =>
41
                /**
42
                 * @param NewAType $x
0 ignored issues
show
Bug introduced by
The type loophp\combinator\Combinator\NewAType 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...
43
                 *
44
                 * @return Closure(callable(NewBType): callable(NewCType): NewDType): Closure(NewBType): Closure(NewCType): NewEType
45
                 */
46
                static fn (mixed $x): Closure =>
47
                    /**
48
                     * @param callable(NewBType): (callable(NewCType): NewDType) $g
49
                     *
50
                     * @return Closure(NewBType): Closure(NewCType): NewEType
51
                     */
52
                    static fn (callable $g): Closure =>
53
                        /**
54
                         * @param NewBType $y
0 ignored issues
show
Bug introduced by
The type loophp\combinator\Combinator\NewBType 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...
55
                         *
56
                         * @return Closure(NewCType): NewEType
57
                         */
58
                        static fn (mixed $y): Closure =>
59
                            /**
60
                             * @param NewCType $z
0 ignored issues
show
Bug introduced by
The type loophp\combinator\Combinator\NewCType 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...
61
                             *
62
                             * @return NewEType
0 ignored issues
show
Bug introduced by
The type loophp\combinator\Combinator\NewEType 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...
63
                             */
64 2
                            static fn (mixed $z): mixed => (($f)($x))((($g)($y))($z));
65 2
    }
66
}
67