9
9
class AnalyserResult
10
10
{
11
11
12
- /** @var list<Error> */
13
- private array $ unorderedErrors ;
12
+ /** @var list<Error>|null */
13
+ private ? array $ errors = null ;
14
14
15
15
/**
16
- * @param list<Error> $errors
16
+ * @param list<Error> $unorderedErrors
17
17
* @param list<CollectedData> $collectedData
18
18
* @param list<string> $internalErrors
19
19
* @param array<string, array<string>>|null $dependencies
20
20
* @param array<string, array<RootExportedNode>> $exportedNodes
21
21
*/
22
22
public function __construct (
23
- private array $ errors ,
23
+ private array $ unorderedErrors ,
24
24
private array $ internalErrors ,
25
25
private array $ collectedData ,
26
26
private ?array $ dependencies ,
@@ -29,20 +29,6 @@ public function __construct(
29
29
private int $ peakMemoryUsageBytes ,
30
30
)
31
31
{
32
- $ this ->unorderedErrors = $ errors ;
33
-
34
- usort (
35
- $ this ->errors ,
36
- static fn (Error $ a , Error $ b ): int => [
37
- $ a ->getFile (),
38
- $ a ->getLine (),
39
- $ a ->getMessage (),
40
- ] <=> [
41
- $ b ->getFile (),
42
- $ b ->getLine (),
43
- $ b ->getMessage (),
44
- ],
45
- );
46
32
}
47
33
48
34
/**
@@ -58,6 +44,22 @@ public function getUnorderedErrors(): array
58
44
*/
59
45
public function getErrors (): array
60
46
{
47
+ if (!isset ($ this ->errors )) {
48
+ $ this ->errors = $ this ->unorderedErrors ;
49
+ usort (
50
+ $ this ->errors ,
51
+ static fn (Error $ a , Error $ b ): int => [
52
+ $ a ->getFile (),
53
+ $ a ->getLine (),
54
+ $ a ->getMessage (),
55
+ ] <=> [
56
+ $ b ->getFile (),
57
+ $ b ->getLine (),
58
+ $ b ->getMessage (),
59
+ ],
60
+ );
61
+ }
62
+
61
63
return $ this ->errors ;
62
64
}
63
65
0 commit comments