@@ -62,36 +62,41 @@ private IEnumerable<ParameterCanBeByValInspectionResult> GetResults(List<Declara
62
62
foreach ( var declaration in declarationMembers )
63
63
{
64
64
var declarationParameters =
65
- declarations . Where ( d => d . DeclarationType == DeclarationType . Parameter && Equals ( d . ParentDeclaration , declaration ) )
65
+ declarations . Where ( d => d . DeclarationType == DeclarationType . Parameter &&
66
+ Equals ( d . ParentDeclaration , declaration ) )
66
67
. OrderBy ( o => o . Selection . StartLine )
67
68
. ThenBy ( t => t . Selection . StartColumn )
68
69
. ToList ( ) ;
69
70
71
+ var parametersAreByRef = declarationParameters . Select ( s => true ) . ToList ( ) ;
72
+
70
73
var members = declarationMembers . Any ( a => a . DeclarationType == DeclarationType . Event )
71
74
? declarations . FindHandlersForEvent ( declaration ) . Select ( s => s . Item2 ) . ToList ( )
72
75
: declarations . FindInterfaceImplementationMembers ( declaration ) . ToList ( ) ;
73
76
74
77
foreach ( var member in members )
75
78
{
76
79
var parameters =
77
- declarations . Where ( d => d . DeclarationType == DeclarationType . Parameter && Equals ( d . ParentDeclaration , member ) )
78
- . OrderBy ( d => d . Selection . StartLine )
79
- . ThenBy ( d => d . Selection . StartColumn )
80
+ declarations . Where ( d => d . DeclarationType == DeclarationType . Parameter &&
81
+ Equals ( d . ParentDeclaration , member ) )
82
+ . OrderBy ( o => o . Selection . StartLine )
83
+ . ThenBy ( t => t . Selection . StartColumn )
80
84
. ToList ( ) ;
81
85
82
- var parametersAreByRef = parameters . Select ( s => true ) . ToList ( ) ;
83
-
84
86
for ( var i = 0 ; i < parameters . Count ; i ++ )
85
87
{
86
88
parametersAreByRef [ i ] = parametersAreByRef [ i ] && ! IsUsedAsByRefParam ( declarations , parameters [ i ] ) &&
87
89
( ( VBAParser . ArgContext ) parameters [ i ] . Context ) . BYVAL ( ) == null &&
88
90
! parameters [ i ] . References . Any ( reference => reference . IsAssignment ) ;
91
+ }
92
+ }
89
93
90
- if ( parametersAreByRef [ i ] )
91
- {
92
- yield return new ParameterCanBeByValInspectionResult ( this , State , declarationParameters [ i ] ,
93
- declarationParameters [ i ] . Context , declarationParameters [ i ] . QualifiedName ) ;
94
- }
94
+ for ( var i = 0 ; i < declarationParameters . Count ; i ++ )
95
+ {
96
+ if ( parametersAreByRef [ i ] )
97
+ {
98
+ yield return new ParameterCanBeByValInspectionResult ( this , State , declarationParameters [ i ] ,
99
+ declarationParameters [ i ] . Context , declarationParameters [ i ] . QualifiedName ) ;
95
100
}
96
101
}
97
102
}
0 commit comments