Skip to content

Commit 3e8927f

Browse files
[mono][System.Reflection.Emit] Fix explicitly setting the return type on a dynamic method (#95271)
Co-authored-by: Ivan Povazan <[email protected]>
1 parent 26e7d2d commit 3e8927f

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/libraries/System.Reflection.Emit/tests/MethodBuilder/MethodBuilderSetReturnType.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ public void SetReturnType_TypeCreated_Works()
132132
}
133133

134134
[Fact]
135-
[ActiveIssue("https://github.com/dotnet/runtime/issues/2389", TestRuntimes.Mono)]
136135
public void SetReturnType_NullReturnType_ReturnsVoid()
137136
{
138137
TypeBuilder type = Helpers.DynamicType(TypeAttributes.Abstract);

src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeMethodBuilder.Mono.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,9 @@ protected override void SetSignatureCore(Type? returnType, Type[]? returnTypeReq
603603
Array.Copy(parameterTypes, this.parameters, parameterTypes.Length);
604604
}
605605

606-
rtype = returnType;
606+
if (returnType != null)
607+
rtype = returnType;
608+
607609
returnModReq = returnTypeRequiredCustomModifiers;
608610
returnModOpt = returnTypeOptionalCustomModifiers;
609611
paramModReq = parameterTypeRequiredCustomModifiers;

0 commit comments

Comments
 (0)