[Ironruby-core] Code Review: BugFixesZ3

Tomas Matousek Tomas.Matousek at microsoft.com
Mon Nov 30 15:40:48 EST 2009

  tfpt review "/shelveset:BugFixesZ3;REDMOND\tomat"

Fixes http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=3183: OutAttribute on parameters whose type is not ByRef should be ignored. The attribute is only used by native marshaller.

Removes dead and duplicate code (various reflection related helpers) and moves them to ReflectionUtils or TypeUtils.

Fixes http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=957.
Removes non-null restriction on the instance parameter of an extension method - C# allows to call the extension method on null value:
      public static class Ext {
        public static bool IsNull(this object value) {
          return value == null;

      public static void F(object o) {

      public static void Main() {

We also didn't recognize extension methods correctly if they are compiled by desktop C# 3.0 (our IsExtension method only detected those that are compiled by us and thus use ExtensionAttribute in ExtensionAttribute.dll). This causes binding to extension methods to behave differently on desktop CLR from Silverlight. The fix is to use ExtensionAttribute from System.Core v3.5 assembly if it is available at runtime.

http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=2827: adds ToString, GetHashCode, GetType methods on NilClass.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20091130/fe78ca20/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BugFixesZ3.diff
Type: application/octet-stream
Size: 52192 bytes
Desc: BugFixesZ3.diff
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20091130/fe78ca20/attachment-0001.obj>

More information about the Ironruby-core mailing list