@@ -44,18 +44,14 @@ class DebugUsagePrinter
44
44
*/
45
45
private array $ debugMembers ;
46
46
47
- private bool $ mixedExcluderEnabled ;
48
-
49
47
public function __construct (
50
48
Container $ container ,
51
49
OutputEnhancer $ outputEnhancer ,
52
- ReflectionProvider $ reflectionProvider ,
53
- bool $ mixedExcluderEnabled
50
+ ReflectionProvider $ reflectionProvider
54
51
)
55
52
{
56
53
$ this ->outputEnhancer = $ outputEnhancer ;
57
54
$ this ->reflectionProvider = $ reflectionProvider ;
58
- $ this ->mixedExcluderEnabled = $ mixedExcluderEnabled ;
59
55
$ this ->debugMembers = $ this ->buildDebugMemberKeys (
60
56
// @phpstan-ignore offsetAccess.nonOffsetAccessible, offsetAccess.nonOffsetAccessible, missingType.checkedException, argument.type
61
57
$ container ->getParameter ('shipmonkDeadCode ' )['debug ' ]['usagesOf ' ], // prevents https://github.com/phpstan/phpstan/issues/12740
@@ -71,31 +67,34 @@ public function printMixedMemberUsages(Output $output, array $mixedMemberUsages)
71
67
return ;
72
68
}
73
69
74
- $ fullyMixedUsages = [];
70
+ $ mixedEverythingUsages = [];
71
+ $ mixedClassNameUsages = [];
75
72
76
- foreach ($ mixedMemberUsages as $ memberType => $ collectedUsages ) {
77
- if (isset ($ collectedUsages [self ::ANY_MEMBER ])) {
78
- foreach ($ collectedUsages [self ::ANY_MEMBER ] as $ collectedUsage ) {
79
- $ fullyMixedUsages [$ memberType ][] = $ collectedUsage ;
80
- }
73
+ foreach ($ mixedMemberUsages as $ memberType => $ collectedUsagesByMemberName ) {
74
+ foreach ($ collectedUsagesByMemberName as $ memberName => $ collectedUsages ) {
75
+ foreach ($ collectedUsages as $ collectedUsage ) {
76
+ if ($ collectedUsage ->isExcluded ()) {
77
+ continue ;
78
+ }
81
79
82
- unset($ mixedMemberUsages [$ memberType ][self ::ANY_MEMBER ]);
80
+ if ($ memberName === self ::ANY_MEMBER ) {
81
+ $ mixedEverythingUsages [$ memberType ][] = $ collectedUsage ;
82
+ } else {
83
+ $ mixedClassNameUsages [$ memberType ][$ memberName ][] = $ collectedUsage ;
84
+ }
85
+ }
83
86
}
84
87
}
85
88
86
- $ this ->printMixedEverythingUsages ($ output , $ fullyMixedUsages );
87
- $ this ->printMixedClassNameUsages ($ output , $ mixedMemberUsages );
89
+ $ this ->printMixedEverythingUsages ($ output , $ mixedEverythingUsages );
90
+ $ this ->printMixedClassNameUsages ($ output , $ mixedClassNameUsages );
88
91
}
89
92
90
93
/**
91
94
* @param array<MemberType::*, array<string, non-empty-list<CollectedUsage>>> $mixedMemberUsages
92
95
*/
93
96
private function printMixedClassNameUsages (Output $ output , array $ mixedMemberUsages ): void
94
97
{
95
- if ($ this ->mixedExcluderEnabled ) {
96
- return ;
97
- }
98
-
99
98
$ totalCount = array_sum (array_map ('count ' , $ mixedMemberUsages ));
100
99
101
100
if ($ totalCount === 0 ) {
0 commit comments