[IronPython] Misleading error messages
Martin Maly
Martin.Maly at microsoft.com
Mon Sep 26 18:24:24 CEST 2005
The incorrect number of arguments misleading error is a known problem
that I haven't had time to fix yet.
Martin
-----Original Message-----
From: users-ironpython.com-bounces at lists.ironpython.com
[mailto:users-ironpython.com-bounces at lists.ironpython.com] On Behalf Of
Ray Djajadinata
Sent: Sunday, September 25, 2005 3:39 AM
To: users-ironpython.com at lists.ironpython.com
Subject: [IronPython] Misleading error messages
Hello,
I'm playing around with list in IronPython 0.9.2, when I found that
error messages regarding the (wrong) number of arguments passed into a
function always tells you that the function takes 0 argument:
<snippet>
>>> horsemen = ["Pestilence", "War", "Famine",
"WebSphere"]
>>> horsemen.count()
Traceback (most recent call last):
at <shell>
TypeError: count() takes exactly 0 argument (1 given)
>>> horsemen.insert(1)
Traceback (most recent call last):
at <shell>
TypeError: insert() takes exactly 0 argument (2 given) </snippet>
This happens to built-in function as well:
<snippet>
>>> abs()
Traceback (most recent call last):
at <shell>
TypeError: abs() takes exactly 0 argument (0 given) </snippet>
This seems to be a problem with .NET Framework 2.0 instead of IP,
though. In TypeGen.cs, line 114:
<snippet>
MethodBuilder mb = myType.DefineMethod(name, attrs, retType,
paramTypes);
return new CodeGen(this, mb, mb.GetILGenerator()); </snippet>
In that snippet above, although the paramTypes is a Type[] of length 1
(created using makeArray() in Constant.cs), somehow the MethodBuilder
instance that
DefineMethod() returns has 0 argument. In the case of
abs() above, the property Signature prints:
{Name: abs
Attributes: 22
Method Signature: Length: 4
Arguments: 0
Signature:
0 0 28 28 0
}
I've tried it with .NET Framework 1.1 (just the part
about creating the MethodBuilder) and the result is:
Length: 4
Arguments: 1
Signature:
0 1 28 28 0
Cheers,
Ray
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
users-ironpython.com mailing list
users-ironpython.com at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
More information about the Ironpython-users
mailing list