@@ -35,7 +35,7 @@ internal static class GetX
3535 TryGetFlagsOrDefault ( invocation , getX , context , out flagsArg , out effectiveFlags ) &&
3636 TryGetTypesOrDefault ( invocation , getX , context , out typesArg , out types ) )
3737 {
38- return TryGetTarget ( getX , targetType , ".ctor" , effectiveFlags , types , context , out target ) ;
38+ return TryGetMember ( getX , targetType , ".ctor" , effectiveFlags , types , context , out target ) ;
3939 }
4040
4141 return null ;
@@ -78,7 +78,7 @@ internal static class GetX
7878 TryGetFlagsOrDefault ( invocation , getX , context , out flagsArg , out effectiveFlags ) &&
7979 TryGetTypesOrDefault ( invocation , getX , context , out typesArg , out types ) )
8080 {
81- return TryGetTarget ( getX , targetType , targetName , effectiveFlags , types , context , out target ) ;
81+ return TryGetMember ( getX , targetType , targetName , effectiveFlags , types , context , out target ) ;
8282 }
8383
8484 return null ;
@@ -105,7 +105,7 @@ internal static class GetX
105105 TryGetFlagsOrDefault ( invocation , getX , context , out flagsArg , out effectiveFlags ) &&
106106 TryGetTypesOrDefault ( invocation , getX , context , out typesArg , out types ) )
107107 {
108- return TryGetTarget ( getX , targetType , targetName , effectiveFlags , types , context , out target ) ;
108+ return TryGetMember ( getX , targetType , targetName , effectiveFlags , types , context , out target ) ;
109109 }
110110
111111 return null ;
@@ -143,27 +143,27 @@ internal static bool TryGetTargetType(InvocationExpressionSyntax getX, SyntaxNod
143143 TryGetTargetType ( memberAccess . Expression , context , null , out result , out instance ) ;
144144 }
145145
146- internal static GetXResult TryGetTarget ( IMethodSymbol getX , ITypeSymbol targetType , string targetMetadataName , BindingFlags flags , IReadOnlyList < ITypeSymbol > types , SyntaxNodeAnalysisContext context , out ISymbol target )
146+ internal static GetXResult TryGetMember ( IMethodSymbol getX , ITypeSymbol targetType , string targetMetadataName , BindingFlags flags , IReadOnlyList < ITypeSymbol > types , SyntaxNodeAnalysisContext context , out ISymbol member )
147147 {
148148 var name = TrimName ( ) ;
149- target = null ;
149+ member = null ;
150150 if ( targetType is ITypeParameterSymbol typeParameter )
151151 {
152152 if ( typeParameter . ConstraintTypes . Length == 0 )
153153 {
154- return TryGetTarget ( getX , context . Compilation . GetSpecialType ( SpecialType . System_Object ) , name , flags , types , context , out target ) ;
154+ return TryGetMember ( getX , context . Compilation . GetSpecialType ( SpecialType . System_Object ) , name , flags , types , context , out member ) ;
155155 }
156156
157157 foreach ( var constraintType in typeParameter . ConstraintTypes )
158158 {
159- var result = TryGetTarget ( getX , constraintType , name , flags , types , context , out target ) ;
159+ var result = TryGetMember ( getX , constraintType , name , flags , types , context , out member ) ;
160160 if ( result != GetXResult . NoMatch )
161161 {
162162 return result ;
163163 }
164164 }
165165
166- return TryGetTarget ( getX , context . Compilation . GetSpecialType ( SpecialType . System_Object ) , name , flags , types , context , out target ) ;
166+ return TryGetMember ( getX , context . Compilation . GetSpecialType ( SpecialType . System_Object ) , name , flags , types , context , out member ) ;
167167 }
168168
169169 if ( getX == KnownSymbol . Type . GetNestedType ||
@@ -179,10 +179,10 @@ internal static GetXResult TryGetTarget(IMethodSymbol getX, ITypeSymbol targetTy
179179 continue ;
180180 }
181181
182- if ( target == null )
182+ if ( member == null )
183183 {
184- target = candidate ;
185- if ( IsOfWrongType ( target ) )
184+ member = candidate ;
185+ if ( IsOfWrongType ( member ) )
186186 {
187187 return GetXResult . WrongMemberType ;
188188 }
@@ -193,41 +193,41 @@ internal static GetXResult TryGetTarget(IMethodSymbol getX, ITypeSymbol targetTy
193193 }
194194 }
195195
196- if ( target != null )
196+ if ( member != null )
197197 {
198198 return GetXResult . Single ;
199199 }
200200
201- if ( targetType . TryFindFirstMemberRecursive ( name , out target ) )
201+ if ( targetType . TryFindFirstMemberRecursive ( name , out member ) )
202202 {
203203 if ( getX == KnownSymbol . Type . GetNestedType &&
204- ! targetType . Equals ( target . ContainingType ) )
204+ ! targetType . Equals ( member . ContainingType ) )
205205 {
206206 return GetXResult . UseContainingType ;
207207 }
208208
209- if ( target . IsStatic &&
210- target . DeclaredAccessibility == Accessibility . Private &&
211- ! targetType . Equals ( target . ContainingType ) )
209+ if ( member . IsStatic &&
210+ member . DeclaredAccessibility == Accessibility . Private &&
211+ ! targetType . Equals ( member . ContainingType ) )
212212 {
213213 return GetXResult . UseContainingType ;
214214 }
215215
216- if ( target . MetadataName == targetMetadataName &&
217- ! MatchesFilter ( target , target . MetadataName , flags , null ) )
216+ if ( member . MetadataName == targetMetadataName &&
217+ ! MatchesFilter ( member , member . MetadataName , flags , null ) )
218218 {
219219 return GetXResult . WrongFlags ;
220220 }
221221
222- if ( ! target . ContainingType . Equals ( targetType ) &&
223- ( target . IsStatic ||
222+ if ( ! member . ContainingType . Equals ( targetType ) &&
223+ ( member . IsStatic ||
224224 flags . HasFlagFast ( BindingFlags . DeclaredOnly ) ) )
225225 {
226226 return GetXResult . WrongFlags ;
227227 }
228228 }
229229
230- if ( IsExplicitImplementation ( out target ) )
230+ if ( IsExplicitImplementation ( out member ) )
231231 {
232232 return GetXResult . ExplicitImplementation ;
233233 }
@@ -244,36 +244,36 @@ internal static GetXResult TryGetTarget(IMethodSymbol getX, ITypeSymbol targetTy
244244 var current = targetType ;
245245 while ( current != null )
246246 {
247- foreach ( var member in current . GetMembers ( name ) )
247+ foreach ( var candidate in current . GetMembers ( name ) )
248248 {
249- if ( ! MatchesFilter ( member , targetMetadataName , flags , types ) )
249+ if ( ! MatchesFilter ( candidate , targetMetadataName , flags , types ) )
250250 {
251251 continue ;
252252 }
253253
254- if ( target == null )
254+ if ( member == null )
255255 {
256- target = member ;
257- if ( target . IsStatic &&
258- target . DeclaredAccessibility == Accessibility . Private &&
259- ! target . ContainingType . Equals ( targetType ) )
256+ member = candidate ;
257+ if ( member . IsStatic &&
258+ member . DeclaredAccessibility == Accessibility . Private &&
259+ ! member . ContainingType . Equals ( targetType ) )
260260 {
261261 return GetXResult . UseContainingType ;
262262 }
263263
264- if ( member . IsStatic &&
264+ if ( candidate . IsStatic &&
265265 ! current . Equals ( targetType ) &&
266266 ! flags . HasFlagFast ( BindingFlags . FlattenHierarchy ) )
267267 {
268268 return GetXResult . WrongFlags ;
269269 }
270270
271- if ( IsOfWrongType ( member ) )
271+ if ( IsOfWrongType ( candidate ) )
272272 {
273273 return GetXResult . WrongMemberType ;
274274 }
275275 }
276- else if ( IsOverriding ( target , member ) )
276+ else if ( IsOverriding ( member , candidate ) )
277277 {
278278 // continue
279279 }
@@ -286,18 +286,18 @@ internal static GetXResult TryGetTarget(IMethodSymbol getX, ITypeSymbol targetTy
286286 current = current . BaseType ;
287287 }
288288
289- if ( target == null )
289+ if ( member == null )
290290 {
291- if ( targetType . TryFindFirstMemberRecursive ( name , out target ) )
291+ if ( targetType . TryFindFirstMemberRecursive ( name , out member ) )
292292 {
293- if ( target . MetadataName == targetMetadataName &&
294- ! MatchesFilter ( target , target . MetadataName , flags , null ) )
293+ if ( member . MetadataName == targetMetadataName &&
294+ ! MatchesFilter ( member , member . MetadataName , flags , null ) )
295295 {
296296 return GetXResult . WrongFlags ;
297297 }
298298 }
299299
300- if ( IsExplicitImplementation ( out target ) )
300+ if ( IsExplicitImplementation ( out member ) )
301301 {
302302 return GetXResult . ExplicitImplementation ;
303303 }
@@ -312,34 +312,34 @@ internal static GetXResult TryGetTarget(IMethodSymbol getX, ITypeSymbol targetTy
312312
313313 return GetXResult . Single ;
314314
315- bool IsOfWrongType ( ISymbol member )
315+ bool IsOfWrongType ( ISymbol candidate )
316316 {
317317 if ( getX . ReturnType == KnownSymbol . EventInfo &&
318- ! ( member is IEventSymbol ) )
318+ ! ( candidate is IEventSymbol ) )
319319 {
320320 return true ;
321321 }
322322
323323 if ( getX . ReturnType == KnownSymbol . FieldInfo &&
324- ! ( member is IFieldSymbol ) )
324+ ! ( candidate is IFieldSymbol ) )
325325 {
326326 return true ;
327327 }
328328
329329 if ( getX . ReturnType == KnownSymbol . MethodInfo &&
330- ! ( member is IMethodSymbol ) )
330+ ! ( candidate is IMethodSymbol ) )
331331 {
332332 return true ;
333333 }
334334
335335 if ( getX . ReturnType == KnownSymbol . PropertyInfo &&
336- ! ( member is IPropertySymbol ) )
336+ ! ( candidate is IPropertySymbol ) )
337337 {
338338 return true ;
339339 }
340340
341341 if ( getX . ReturnType == KnownSymbol . Type &&
342- ! ( member is ITypeSymbol ) )
342+ ! ( candidate is ITypeSymbol ) )
343343 {
344344 return true ;
345345 }
@@ -430,12 +430,12 @@ bool IsKnownArgument(IParameterSymbol parameter)
430430 /// <summary>
431431 /// Handles GetField, GetEvent, GetMember, GetMethod...
432432 /// </summary>
433- private static GetXResult ? TryMatchGetX ( InvocationExpressionSyntax invocation , QualifiedMethod getXMethod , SyntaxNodeAnalysisContext context , out ITypeSymbol targetType , out ArgumentSyntax nameArg , out string targetName , out ISymbol target , out ArgumentSyntax flagsArg , out BindingFlags effectiveFlags )
433+ private static GetXResult ? TryMatchGetX ( InvocationExpressionSyntax invocation , QualifiedMethod getXMethod , SyntaxNodeAnalysisContext context , out ITypeSymbol targetType , out ArgumentSyntax nameArg , out string targetName , out ISymbol member , out ArgumentSyntax flagsArg , out BindingFlags effectiveFlags )
434434 {
435435 targetType = null ;
436436 nameArg = null ;
437437 targetName = null ;
438- target = null ;
438+ member = null ;
439439 flagsArg = null ;
440440 effectiveFlags = 0 ;
441441 if ( invocation . ArgumentList != null &&
@@ -444,7 +444,7 @@ bool IsKnownArgument(IParameterSymbol parameter)
444444 TryGetName ( invocation , getX , context , out nameArg , out targetName ) &&
445445 TryGetFlagsOrDefault ( invocation , getX , context , out flagsArg , out effectiveFlags ) )
446446 {
447- return TryGetTarget ( getX , targetType , targetName , effectiveFlags , null , context , out target ) ;
447+ return TryGetMember ( getX , targetType , targetName , effectiveFlags , null , context , out member ) ;
448448 }
449449
450450 return null ;
0 commit comments