99class  AnalyserResult
1010{
1111
12- /** @var list<Error> */ 
13- private  array  $ unorderedErrors 
12+ /** @var list<Error>|null  */ 
13+ private  ? array  $ errors  =  null ;
1414
1515/** 
16-  * @param list<Error> $errors  
16+  * @param list<Error> $unorderedErrors  
1717 * @param list<CollectedData> $collectedData 
1818 * @param list<string> $internalErrors 
1919 * @param array<string, array<string>>|null $dependencies 
2020 * @param array<string, array<RootExportedNode>> $exportedNodes 
2121 */ 
2222public  function  __construct (
23- private  array  $ errors 
23+ private  array  $ unorderedErrors 
2424private  array  $ internalErrors
2525private  array  $ collectedData
2626private  ?array  $ dependencies
@@ -29,20 +29,6 @@ public function __construct(
2929private  int  $ peakMemoryUsageBytes
3030)
3131{
32- $ this unorderedErrors  = $ errors
33- 
34- usort (
35- $ this errors ,
36- static  fn  (Error $ aError $ bint  => [
37- $ agetFile (),
38- $ agetLine (),
39- $ agetMessage (),
40- ] <=> [
41- $ bgetFile (),
42- $ bgetLine (),
43- $ bgetMessage (),
44- ],
45- );
4632}
4733
4834/** 
@@ -58,6 +44,22 @@ public function getUnorderedErrors(): array
5844 */ 
5945public  function  getErrors (): array 
6046{
47+ if  (!isset ($ this errors )) {
48+ $ this errors  = $ this unorderedErrors ;
49+ usort (
50+ $ this errors ,
51+ static  fn  (Error $ aError $ bint  => [
52+ $ agetFile (),
53+ $ agetLine (),
54+ $ agetMessage (),
55+ ] <=> [
56+ $ bgetFile (),
57+ $ bgetLine (),
58+ $ bgetMessage (),
59+ ],
60+ );
61+ }
62+ 
6163return  $ this errors ;
6264}
6365
0 commit comments