55use Nette \Utils \Json ;
66use PHPStan \Command \AnalysisResult ;
77use PHPStan \Command \Output ;
8+ use stdClass ;
89use Symfony \Component \Console \Formatter \OutputFormatter ;
9- use function array_key_exists ;
1010use function count ;
11+ use function property_exists ;
1112
1213final class JsonErrorFormatter implements ErrorFormatter
1314{
@@ -23,21 +24,21 @@ public function formatErrors(AnalysisResult $analysisResult, Output $output): in
2324 'errors ' => count ($ analysisResult ->getNotFileSpecificErrors ()),
2425 'file_errors ' => count ($ analysisResult ->getFileSpecificErrors ()),
2526 ],
26- 'files ' => [] ,
27+ 'files ' => new stdClass () ,
2728 'errors ' => [],
2829 ];
2930
3031 $ tipFormatter = new OutputFormatter (false );
3132
3233 foreach ($ analysisResult ->getFileSpecificErrors () as $ fileSpecificError ) {
3334 $ 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 = [
3637 'errors ' => 0 ,
3738 'messages ' => [],
3839 ];
3940 }
40- $ errorsArray ['files ' ][ $ file] ['errors ' ]++;
41+ $ errorsArray ['files ' ]-> $ file ['errors ' ]++;
4142
4243 $ message = [
4344 'message ' => $ fileSpecificError ->getMessage (),
@@ -53,7 +54,7 @@ public function formatErrors(AnalysisResult $analysisResult, Output $output): in
5354 $ message ['identifier ' ] = $ fileSpecificError ->getIdentifier ();
5455 }
5556
56- $ errorsArray ['files ' ][ $ file] ['messages ' ][] = $ message ;
57+ $ errorsArray ['files ' ]-> $ file ['messages ' ][] = $ message ;
5758 }
5859
5960 foreach ($ analysisResult ->getNotFileSpecificErrors () as $ notFileSpecificError ) {
0 commit comments