@@ -46,6 +46,9 @@ final class File extends AbstractNode
46
46
47
47
/**
48
48
* @psalm-param array{linesOfCode: int, commentLinesOfCode: int, nonCommentLinesOfCode: int} $linesOfCode
49
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, startLine: int, endLine: int, methods: array<string, array{methodName: string, signature: string, visibility: string, startLine: int, endLine: int, ccn: int}>}> $classes
50
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, startLine: int, endLine: int, methods: array<string, array{methodName: string, signature: string, visibility: string, startLine: int, endLine: int, ccn: int}>}> $traits
51
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, signature: string, startLine: int, endLine: int, ccn: int}> $functions
49
52
*/
50
53
public function __construct (string $ name , AbstractNode $ parent , array $ lineCoverageData , array $ functionCoverageData , array $ testData , array $ classes , array $ traits , array $ functions , array $ linesOfCode )
51
54
{
@@ -253,6 +256,11 @@ public function numberOfTestedFunctions(): int
253
256
return $ this ->numTestedFunctions ;
254
257
}
255
258
259
+ /**
260
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, startLine: int, endLine: int, methods: array<string, array{methodName: string, signature: string, visibility: string, startLine: int, endLine: int, ccn: int}>}> $classes
261
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, startLine: int, endLine: int, methods: array<string, array{methodName: string, signature: string, visibility: string, startLine: int, endLine: int, ccn: int}>}> $traits
262
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, signature: string, startLine: int, endLine: int, ccn: int}> $functions
263
+ */
256
264
private function calculateStatistics (array $ classes , array $ traits , array $ functions ): void
257
265
{
258
266
foreach (range (1 , $ this ->linesOfCode ['linesOfCode ' ]) as $ lineNumber ) {
@@ -355,6 +363,9 @@ private function calculateStatistics(array $classes, array $traits, array $funct
355
363
}
356
364
}
357
365
366
+ /**
367
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, startLine: int, endLine: int, methods: array<string, array{methodName: string, signature: string, visibility: string, startLine: int, endLine: int, ccn: int}>}> $classes
368
+ */
358
369
private function processClasses (array $ classes ): void
359
370
{
360
371
$ link = $ this ->id () . '.html# ' ;
@@ -401,6 +412,9 @@ private function processClasses(array $classes): void
401
412
}
402
413
}
403
414
415
+ /**
416
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, startLine: int, endLine: int, methods: array<string, array{methodName: string, signature: string, visibility: string, startLine: int, endLine: int, ccn: int}>}> $traits
417
+ */
404
418
private function processTraits (array $ traits ): void
405
419
{
406
420
$ link = $ this ->id () . '.html# ' ;
@@ -447,6 +461,9 @@ private function processTraits(array $traits): void
447
461
}
448
462
}
449
463
464
+ /**
465
+ * @psalm-param array<string, array{name: string, namespacedName: string, namespace: string, signature: string, startLine: int, endLine: int, ccn: int}> $functions
466
+ */
450
467
private function processFunctions (array $ functions ): void
451
468
{
452
469
$ link = $ this ->id () . '.html# ' ;
@@ -513,6 +530,27 @@ static function (array $path)
513
530
}
514
531
}
515
532
533
+ /**
534
+ * @psalm-param array{methodName: string, signature: string, visibility: string, startLine: int, endLine: int, ccn: int} $method
535
+ *
536
+ * @psalm-return array{
537
+ * methodName: string,
538
+ * visibility: string,
539
+ * signature: string,
540
+ * startLine: int,
541
+ * endLine: int,
542
+ * executableLines: int,
543
+ * executedLines: int,
544
+ * executableBranches: int,
545
+ * executedBranches: int,
546
+ * executablePaths: int,
547
+ * executedPaths: int,
548
+ * ccn: int,
549
+ * coverage: int,
550
+ * crap: int,
551
+ * link: string
552
+ * }
553
+ */
516
554
private function newMethod (string $ className , string $ methodName , array $ method , string $ link ): array
517
555
{
518
556
$ methodData = [
0 commit comments