AssertFailure in DefaultOverloadResolver..ctor


Attempting to work out .NET binding for property gets, I've encountered an System.Diagnostics assertion failure in DefaultOverloadResolver. I'll attach a unit-test class FooTest that reproduces this assert when run under debug builds. If I ignore the assert, it throws a Microsoft.Scripting.ArgumentTypeException saying the property getter, e.g. get_Authority(), takes exactly 1 argument (0 given.)
I tracked this down to a miscalculation of the number of arguments made in ActionBinder.MakeCallExpression. Its static methods that don't need a this argument, not instance methods. Line number 440 and 442 need to be reversed, . I'll try to upload a Codeplex patch when I figure that out...
(P.S. line numbers based on latest checkin, change set 36288 by IPyTeam Dec 6th at 12:40 PM)

file attachments


BurtHarris wrote Dec 8, 2009 at 1:39 AM

Test methods FooGet() and FooGetDictionaryEntry() in attached unit test modeule FooTest.cs both fail due to this bug. Other methods fail, but for different reasons...

I'm also attaching the stack trace as a text file.