From 87aa427f298db69642d7eb94919fd6004380ccb4 Mon Sep 17 00:00:00 2001 From: Jan Kotas Date: Tue, 11 Feb 2025 16:58:56 -0800 Subject: [PATCH] Simplify TypeBuilderImpl.MatchesTheFilter Fixes number of corner cases Contributes to #112344 --- .../System/Reflection/Emit/TypeBuilderImpl.cs | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/TypeBuilderImpl.cs b/src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/TypeBuilderImpl.cs index cad80467440521..1f485bc062f81f 100644 --- a/src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/TypeBuilderImpl.cs +++ b/src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/TypeBuilderImpl.cs @@ -729,23 +729,7 @@ private static bool MatchesTheFilter(MethodBuilderImpl method, BindingFlags meth for (int i = 0; i < parameterTypes.Length; i++) { - Type? argType = argumentTypes[i]; - Type? paramType = parameterTypes[i]; - - if (argType.IsArray != paramType.IsArray || - argType.IsByRef != paramType.IsByRef || - argType.IsPointer != argType.IsPointer) - { - return false; - } - - if (argType.HasElementType || paramType.HasElementType) - { - argType = argType.GetElementType(); - paramType = paramType.GetElementType(); - } - - if (argType == null || !argType.Equals(paramType)) + if (!argumentTypes[i].Equals(parameterTypes[i])) { return false; }