5
5
use Nette \Utils \Json ;
6
6
use PHPStan \Command \AnalysisResult ;
7
7
use PHPStan \Command \Output ;
8
+ use stdClass ;
8
9
use Symfony \Component \Console \Formatter \OutputFormatter ;
9
- use function array_key_exists ;
10
10
use function count ;
11
+ use function property_exists ;
11
12
12
13
final class JsonErrorFormatter implements ErrorFormatter
13
14
{
@@ -23,21 +24,21 @@ public function formatErrors(AnalysisResult $analysisResult, Output $output): in
23
24
'errors ' => count ($ analysisResult ->getNotFileSpecificErrors ()),
24
25
'file_errors ' => count ($ analysisResult ->getFileSpecificErrors ()),
25
26
],
26
- 'files ' => [] ,
27
+ 'files ' => new stdClass () ,
27
28
'errors ' => [],
28
29
];
29
30
30
31
$ tipFormatter = new OutputFormatter (false );
31
32
32
33
foreach ($ analysisResult ->getFileSpecificErrors () as $ fileSpecificError ) {
33
34
$ file = $ fileSpecificError ->getFile ();
34
- if (!array_key_exists ( $ file , $ errorsArray ['files ' ])) {
35
- $ errorsArray ['files ' ][ $ file] = [
35
+ if (!property_exists ( $ errorsArray ['files ' ], $ file )) {
36
+ $ errorsArray ['files ' ]-> $ file = [
36
37
'errors ' => 0 ,
37
38
'messages ' => [],
38
39
];
39
40
}
40
- $ errorsArray ['files ' ][ $ file] ['errors ' ]++;
41
+ $ errorsArray ['files ' ]-> $ file ['errors ' ]++;
41
42
42
43
$ message = [
43
44
'message ' => $ fileSpecificError ->getMessage (),
@@ -53,7 +54,7 @@ public function formatErrors(AnalysisResult $analysisResult, Output $output): in
53
54
$ message ['identifier ' ] = $ fileSpecificError ->getIdentifier ();
54
55
}
55
56
56
- $ errorsArray ['files ' ][ $ file] ['messages ' ][] = $ message ;
57
+ $ errorsArray ['files ' ]-> $ file ['messages ' ][] = $ message ;
57
58
}
58
59
59
60
foreach ($ analysisResult ->getNotFileSpecificErrors () as $ notFileSpecificError ) {
0 commit comments