@@ -26,7 +26,7 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
26
26
var interfaceDeclarationMembers = declarations . FindInterfaceMembers ( ) . ToList ( ) ;
27
27
var interfaceScopes = declarations . FindInterfaceImplementationMembers ( ) . Concat ( interfaceDeclarationMembers ) . Select ( s => s . Scope ) ;
28
28
29
- issues . AddRange ( GetInterfaceResults ( declarations , interfaceDeclarationMembers ) ) ;
29
+ issues . AddRange ( GetResults ( declarations , interfaceDeclarationMembers ) ) ;
30
30
31
31
var eventMembers = declarations . Where ( item => ! item . IsBuiltIn && item . DeclarationType == DeclarationType . Event ) . ToList ( ) ;
32
32
var formEventHandlerScopes = State . FindFormEventHandlers ( ) . Select ( handler => handler . Scope ) ;
@@ -35,7 +35,7 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
35
35
. Concat ( formEventHandlerScopes )
36
36
. Concat ( eventHandlerScopes ) ;
37
37
38
- issues . AddRange ( GetEventResults ( declarations , eventMembers ) ) ;
38
+ issues . AddRange ( GetResults ( declarations , eventMembers ) ) ;
39
39
40
40
var declareScopes = declarations . Where ( item =>
41
41
item . DeclarationType == DeclarationType . LibraryFunction
@@ -56,67 +56,28 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
56
56
return issues ;
57
57
}
58
58
59
- private IEnumerable < ParameterCanBeByValInspectionResult > GetInterfaceResults ( List < Declaration > declarations , List < Declaration > interfaceDeclarationMembers )
59
+ private IEnumerable < ParameterCanBeByValInspectionResult > GetResults ( List < Declaration > declarations , List < Declaration > declarationMembers )
60
60
{
61
- foreach ( var member in interfaceDeclarationMembers )
61
+ foreach ( var declaration in declarationMembers )
62
62
{
63
63
var declarationParameters =
64
- declarations . Where ( declaration => declaration . DeclarationType == DeclarationType . Parameter &&
65
- declaration . ParentDeclaration == member )
64
+ declarations . Where ( d => d . DeclarationType == DeclarationType . Parameter &&
65
+ d . ParentDeclaration == declaration )
66
66
. OrderBy ( o => o . Selection . StartLine )
67
67
. ThenBy ( t => t . Selection . StartColumn )
68
68
. ToList ( ) ;
69
69
70
70
var parametersAreByRef = declarationParameters . Select ( s => true ) . ToList ( ) ;
71
71
72
- var implementations = declarations . FindInterfaceImplementationMembers ( member ) . ToList ( ) ;
73
- foreach ( var implementation in implementations )
74
- {
75
- var parameters =
76
- declarations . Where ( declaration => declaration . DeclarationType == DeclarationType . Parameter &&
77
- declaration . ParentDeclaration == implementation )
78
- . OrderBy ( o => o . Selection . StartLine )
79
- . ThenBy ( t => t . Selection . StartColumn )
80
- . ToList ( ) ;
81
-
82
- for ( var i = 0 ; i < parameters . Count ; i ++ )
83
- {
84
- parametersAreByRef [ i ] = parametersAreByRef [ i ] && ! IsUsedAsByRefParam ( declarations , parameters [ i ] ) &&
85
- ( ( VBAParser . ArgContext ) parameters [ i ] . Context ) . BYVAL ( ) == null &&
86
- ! parameters [ i ] . References . Any ( reference => reference . IsAssignment ) ;
87
- }
88
- }
89
-
90
- for ( var i = 0 ; i < declarationParameters . Count ; i ++ )
91
- {
92
- if ( parametersAreByRef [ i ] )
93
- {
94
- yield return new ParameterCanBeByValInspectionResult ( this , State , declarationParameters [ i ] ,
95
- declarationParameters [ i ] . Context , declarationParameters [ i ] . QualifiedName ) ;
96
- }
97
- }
98
- }
99
- }
100
-
101
- private IEnumerable < ParameterCanBeByValInspectionResult > GetEventResults ( List < Declaration > declarations , List < Declaration > eventDeclarationMembers )
102
- {
103
- foreach ( var member in eventDeclarationMembers )
104
- {
105
- var declarationParameters =
106
- declarations . Where ( declaration => declaration . DeclarationType == DeclarationType . Parameter &&
107
- declaration . ParentDeclaration == member )
108
- . OrderBy ( o => o . Selection . StartLine )
109
- . ThenBy ( t => t . Selection . StartColumn )
110
- . ToList ( ) ;
111
-
112
- var parametersAreByRef = declarationParameters . Select ( s => true ) . ToList ( ) ;
72
+ var members = declarationMembers . Any ( a => a . DeclarationType == DeclarationType . Event )
73
+ ? declarations . FindHandlersForEvent ( declaration ) . Select ( s => s . Item2 ) . ToList ( )
74
+ : declarations . FindInterfaceImplementationMembers ( declaration ) . ToList ( ) ;
113
75
114
- var handlers = declarations . FindHandlersForEvent ( member ) . Select ( s => s . Item2 ) . ToList ( ) ;
115
- foreach ( var handler in handlers )
76
+ foreach ( var member in members )
116
77
{
117
78
var parameters =
118
- declarations . Where ( declaration => declaration . DeclarationType == DeclarationType . Parameter &&
119
- declaration . ParentDeclaration == handler )
79
+ declarations . Where ( d => d . DeclarationType == DeclarationType . Parameter &&
80
+ d . ParentDeclaration == member )
120
81
. OrderBy ( o => o . Selection . StartLine )
121
82
. ThenBy ( t => t . Selection . StartColumn )
122
83
. ToList ( ) ;
0 commit comments