private List <MethodDefinition> GetSameNameMethods(TypeDefinition declaringTypeDefinition, MethodReference method, ExpressionCollection arguments) { V_0 = new List <MethodDefinition>(); V_1 = method.Resolve(); if (V_1 == null) { return(V_0); } V_2 = declaringTypeDefinition.get_Methods().GetEnumerator(); try { while (V_2.MoveNext()) { V_3 = V_2.get_Current(); if (String.op_Inequality(V_3.get_Name(), method.get_Name()) || V_3.get_HasParameters() != method.get_HasParameters() || V_3.get_Parameters().get_Count() != method.get_Parameters().get_Count() || (object)V_3 == (object)V_1 || V_3.get_HasGenericParameters() != V_1.get_HasGenericParameters() || !this.ArgumentsMatchParameters(V_3.get_Parameters(), arguments)) { continue; } V_0.Add(V_3); } } finally { V_2.Dispose(); } return(V_0); }