diff -urN r464/IronPython/Src/IronPython/Compiler/MethodBinder.cs wc/IronPython/Src/IronPython/Compiler/MethodBinder.cs --- r464/IronPython/Src/IronPython/Compiler/MethodBinder.cs 2006-06-14 10:15:01.000000000 +0900 +++ wc/IronPython/Src/IronPython/Compiler/MethodBinder.cs 2006-06-14 10:33:21.000000000 +0900 @@ -81,11 +81,11 @@ return ts.MakeCallTarget(needsContext); } - public object CallWithContextN(ICallerContext context, object[] args) { + public object CallWithContextN(ICallerContext context, params object[] args) { return Call(context, CallType.None, args); } - public object CallN(object[] args) { + public object CallN(params object[] args) { return Call(null, CallType.None, args); } @@ -419,7 +419,9 @@ Parameter p1 = parameters1[i]; Parameter p2 = parameters2[i]; int? cmp = p1.CompareTo(p2); - switch (ret) { + if (ret == null) + if (cmp != 0) return cmp; + switch ((int)ret) { case 0: ret = cmp; break; case +1: @@ -428,9 +430,6 @@ case -1: if (cmp == +1) return null; break; - case null: - if (cmp != 0) ret = cmp; - break; default: throw new Exception(); }