Okay, well I found two code problems in two IR implementations of IExpressionSerializable:
/ironruby/Runtime/Calls/rubycallaction.cs CreateExpression() is passing the wrong second Type parameter. It should be typeof(RubyCallSignature) /ironruby/Runtime/Calls/rubycallsignature.cs CreateExpression() is not passing enough parameters. typeof(bool) and Ast.Constant(_hasRhsArgument) should be added to find the right Constructor. The next problem is: Variable '#globalScope' referenced from lambda 'C:\work\ironruby\co\svn\trunk\build\release\test.rb', but it is not defined in an outer scope In Microsoft.Scripting.Core.dll!System.Linq.Expressions.Compiler.VariableBinder .Reference(System.Linq.Expressions.Expression variable = {#globalScope}, bool hoist = false) Line 238 C# I'm guessing I haven't initialized some global context? Thanks, -----Original Message----- From: KE [mailto:[EMAIL PROTECTED] Sent: Saturday, September 06, 2008 6:50 AM To: 'Tomas Matousek'; 'Discussion of IronPython'; 'IronRuby' Subject: RE: [IronPython] irc.rb Thanks! I've also created a bug report: http://rubyforge.org/tracker/index.php?func=detail&aid=21839&group_id=4359&a tid=16798 This includes the irc.rb which I think IronRuby will be interested in including in the IronRuby distribution as well.. I'll try to step through into this bug and understand what's going on, although I have no clue what I'm looking at :) Thanks, -----Original Message----- From: Tomas Matousek [mailto:[EMAIL PROTECTED] Sent: Saturday, September 06, 2008 12:49 AM To: [EMAIL PROTECTED]; Discussion of IronPython; IronRuby Subject: RE: [IronPython] irc.rb Right. This is the error Dino overheard me talking about :) As you can see from the stack trac, something seems to be broken in DLR. I'll look at it and see whether I can come with a simple fix. Precompilation is currently P2 on our task list though, so I'm afraid any more complex work would need to wait until P1's are done. Tomas -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of KE Sent: Friday, September 05, 2008 5:24 PM To: IronRuby Cc: IronPython Subject: [IronPython] irc.rb Hi, I've created an irc.rb (attached) which mimics IronPython's pyc.py. It is failing on this line: Microsoft::Scripting::ScriptCode.save_to_assembly(outfile, codes.to_array()) With the following exception... Any help would be greatly appreciated. The test file I'm trying to compile is also attached. I am building on revision 140. I have also tried with the Microsoft.Scripting and Microsoft.Scripting.Core dlls from IronPython with the same result. C:\work\ironruby\co\svn\trunk\build\release>.\ir.exe irc.rb -target:dll -verbose test.rb Compiling C:\work\ironruby\co\svn\trunk\build\release\test.rb... Creating output file C:\work\ironruby\co\svn\trunk\build\release\test.dll... C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\NewExpression .cs:88:in `New': Value cannot be null. Parameter name: constructor (System::ArgumentNullException) from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\NewExpression .cs:83:in `New' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:294:in `DefaultVisitDynamicExpression' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:191:in `VisitNode' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:40:in `VisitNodes' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:108:in `Visit' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:264:in `DefaultVisitBlock' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:176:in `VisitNode' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:40:in `VisitNodes' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:108:in `Visit' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:264:in `DefaultVisitBlock' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:176:in `VisitNode' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:40:in `VisitNodes' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:108:in `Visit' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:264:in `DefaultVisitBlock' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:176:in `VisitNode' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:40:in `VisitNodes' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:108:in `Visit' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:264:in `DefaultVisitBlock' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:176:in `VisitNode' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:272:in `Visit' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:374:in `DefaultVisitScopeExpression' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.Generated.cs:218:in `VisitNode' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Ast\ExpressionTre eVisitor.cs:189:in `Visit' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Actions\MatchCall er.Generated.cs:40:in `Call4' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Actions\CallSite. cs:275:in `UpdateAndExecute' from C:\work\ironruby\co\svn\trunk\src\Microsoft.Scripting.Core\Actions\UpdateDel egates.Generated.cs:52:in `Update4' from :0 _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com