|
|
@ -671,8 +671,8 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver |
|
|
|
{ |
|
|
|
{ |
|
|
|
// AllowImplicitIn: `in` parameters can be filled implicitly without `in` DirectionExpression
|
|
|
|
// AllowImplicitIn: `in` parameters can be filled implicitly without `in` DirectionExpression
|
|
|
|
// IsExtensionMethodInvocation: `this ref` and `this in` parameters can be filled implicitly
|
|
|
|
// IsExtensionMethodInvocation: `this ref` and `this in` parameters can be filled implicitly
|
|
|
|
if (((paramRefKind == ReferenceKind.In && AllowImplicitIn) |
|
|
|
if (((paramRefKind is ReferenceKind.In or ReferenceKind.RefReadOnly && AllowImplicitIn) |
|
|
|
|| (IsExtensionMethodInvocation && parameterIndex == 0 && (paramRefKind == ReferenceKind.In || paramRefKind == ReferenceKind.Ref)) |
|
|
|
|| (IsExtensionMethodInvocation && parameterIndex == 0 && (paramRefKind is ReferenceKind.In or ReferenceKind.Ref or ReferenceKind.RefReadOnly)) |
|
|
|
) && candidate.ParameterTypes[parameterIndex].SkipModifiers() is ByReferenceType brt) |
|
|
|
) && candidate.ParameterTypes[parameterIndex].SkipModifiers() is ByReferenceType brt) |
|
|
|
{ |
|
|
|
{ |
|
|
|
// Treat the parameter as if it was not declared "in" for the following steps
|
|
|
|
// Treat the parameter as if it was not declared "in" for the following steps
|
|
|
|