Skip to content

Commit d358e8f

Browse files
committed
PR feedback and followup on merge from main
1 parent 603984b commit d358e8f

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

src/Compilers/CSharp/Portable/Binder/BinderFactory.BinderFactoryVisitor.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,9 @@ private static Binder WithExtensionReceiverParameterBinderIfNecessary(Binder res
198198
{
199199
if (method is { IsStatic: false, ContainingType: SourceNamedTypeSymbol { IsExtension: true, ExtensionParameter: { } parameter } })
200200
{
201+
// PROTOTYPE: Depending on whether we consider method parameters and receiver parameter in the same scope and
202+
// what are the name conflict/shadowing rules, we might consider to adjust behavior of InMethodBinder instead.
203+
// If we decide to keep usage of WithParametersBinder, we might want to update XML doc comment for it.
201204
return new WithParametersBinder([parameter], resultBinder);
202205
}
203206

src/Compilers/CSharp/Portable/Lowering/ExtensionMethodBodyRewriter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public ExtensionMethodBodyRewriter(MethodSymbol sourceMethod, SourceExtensionImp
3939
bool haveExtraParameter = sourceMethod.ParameterCount != implementationMethod.ParameterCount;
4040
if (haveExtraParameter)
4141
{
42+
Debug.Assert(implementationMethod.ParameterCount - 1 == sourceMethod.ParameterCount);
4243
var receiverParameter = (WrappedParameterSymbol)implementationMethod.Parameters[0];
4344
_symbolMap = _symbolMap.Add(receiverParameter.UnderlyingParameter, receiverParameter);
4445
}

src/Compilers/CSharp/Portable/Symbols/Source/SourceMemberContainerSymbol.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3614,7 +3614,7 @@ private void AddSynthesizedExtensionImplementationsIfNecessary(MembersAndInitial
36143614
{
36153615
if (member is MethodSymbol { IsImplicitlyDeclared: false } method)
36163616
{
3617-
builder.AddNonTypeMember(new SourceExtensionImplementationMethodSymbol(method), declaredMembersAndInitializers);
3617+
builder.AddNonTypeMember(this, new SourceExtensionImplementationMethodSymbol(method), declaredMembersAndInitializers);
36183618
}
36193619
}
36203620
}

0 commit comments

Comments
 (0)