Passed
Pull Request — master (#21)
by
unknown
02:16
created

ProxyTrait   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 5
Bugs 0 Features 0
Metric Value
eloc 7
c 5
b 0
f 0
dl 0
loc 23
ccs 9
cts 9
cp 1
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A repeatError() 0 4 1
A getCurrentError() 0 3 1
A hasCurrentError() 0 3 1
A resetCurrentError() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Proxy;
6
7
use Throwable;
8
9
trait ProxyTrait
10
{
11
    private ?object $currentError = null;
12
13 2
    public function getCurrentError(): ?object
14
    {
15 2
        return $this->currentError;
16
    }
17
18 2
    public function hasCurrentError(): bool
19
    {
20 2
        return $this->currentError !== null;
21
    }
22
23 3
    protected function repeatError(Throwable $error): void
24
    {
25 3
        $this->currentError = $error;
26 3
        throw $error;
27
    }
28
29 6
    protected function resetCurrentError(): void
30
    {
31 6
        $this->currentError = null;
32
    }
33
}
34