<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -375,6 +375,8 @@ no_csc do
         &quot;BigIntegerOne&quot; =&gt; Bignum.One, &quot;BigIntegerZero&quot; =&gt; Bignum.Zero, 
         &quot;Int32?Null&quot; =&gt; System::Nullable[Fixnum].new, &quot;Int32?One&quot; =&gt; System::Nullable[Fixnum].new(1), &quot;Int32?MinusOne&quot; =&gt; System::Nullable[Fixnum].new(-1),
         &quot;&quot; =&gt; &quot;&quot;, &quot;a&quot; =&gt; &quot;a&quot;, &quot;abc&quot; =&gt; &quot;abc&quot;,
+        &quot;System::String''&quot; =&gt; System::String.new(&quot;&quot;), &quot;System::String'a'&quot; =&gt; System::String.new(&quot;a&quot;), &quot;System::String'abc'&quot; =&gt; System::String.new(&quot;abc&quot;),
+        :a =&gt; :a, :abc =&gt; :abc,
         &quot;System::CharMaxValue&quot; =&gt; System::Char.MaxValue, &quot;System::CharMinValue&quot; =&gt; System::Char.MinValue
       }
       other.merge clr_values      </diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/method/fixtures/classes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,6 +20,29 @@ describe &quot;Method parameter binding&quot; do
           :BooleanArg =&gt; &quot;BooleanArg&quot;, :SByteArg =&gt; TE, :Int16Arg =&gt; TE, :Int64Arg =&gt; TE, :SingleArg =&gt; AE, 
           :ByteArg =&gt; TE, :UInt16Arg =&gt; TE, :UInt32Arg =&gt; TE, :UInt64Arg =&gt; TE, :CharArg =&gt; &quot;CharArg&quot;, :DecimalArg =&gt; TE, 
           :ObjectArg =&gt; &quot;ObjectArg&quot;, :NullableInt32Arg =&gt; TE },
+          
+    &quot;System::String''&quot; =&gt; {:NoArg =&gt; AE, :Int32Arg =&gt; TE, :DoubleArg =&gt; AE, :BigIntegerArg =&gt; TE, :StringArg =&gt; &quot;StringArg&quot;, 
+          :BooleanArg =&gt; &quot;BooleanArg&quot;, :SByteArg =&gt; TE, :Int16Arg =&gt; TE, :Int64Arg =&gt; TE, :SingleArg =&gt; AE, 
+          :ByteArg =&gt; TE, :UInt16Arg =&gt; TE, :UInt32Arg =&gt; TE, :UInt64Arg =&gt; TE, :CharArg =&gt; TE, :DecimalArg =&gt; TE, 
+          :ObjectArg =&gt; &quot;ObjectArg&quot;, :NullableInt32Arg =&gt; TE },
+    &quot;System::String'a'&quot; =&gt; {:NoArg =&gt; AE, :Int32Arg =&gt; TE, :DoubleArg =&gt; AE, :BigIntegerArg =&gt; TE, :StringArg =&gt; &quot;StringArg&quot;, 
+          :BooleanArg =&gt; &quot;BooleanArg&quot;, :SByteArg =&gt; TE, :Int16Arg =&gt; TE, :Int64Arg =&gt; TE, :SingleArg =&gt; AE, 
+          :ByteArg =&gt; TE, :UInt16Arg =&gt; TE, :UInt32Arg =&gt; TE, :UInt64Arg =&gt; TE, :CharArg =&gt; &quot;CharArg&quot;, :DecimalArg =&gt; TE, 
+          :ObjectArg =&gt; &quot;ObjectArg&quot;, :NullableInt32Arg =&gt; TE },
+    &quot;System::String'abc'&quot; =&gt; {:NoArg =&gt; AE, :Int32Arg =&gt; TE, :DoubleArg =&gt; AE, :BigIntegerArg =&gt; TE, :StringArg =&gt; &quot;StringArg&quot;, 
+          :BooleanArg =&gt; &quot;BooleanArg&quot;, :SByteArg =&gt; TE, :Int16Arg =&gt; TE, :Int64Arg =&gt; TE, :SingleArg =&gt; AE, 
+          :ByteArg =&gt; TE, :UInt16Arg =&gt; TE, :UInt32Arg =&gt; TE, :UInt64Arg =&gt; TE, :CharArg =&gt; &quot;CharArg&quot;, :DecimalArg =&gt; TE, 
+          :ObjectArg =&gt; &quot;ObjectArg&quot;, :NullableInt32Arg =&gt; TE },
+
+    
+    :a =&gt; {:NoArg =&gt; AE, :Int32Arg =&gt; &quot;Int32Arg&quot;, :DoubleArg =&gt; TE, :BigIntegerArg =&gt; &quot;BigIntegerArg&quot;, :StringArg =&gt; &quot;StringArg&quot;, 
+          :BooleanArg =&gt; &quot;BooleanArg&quot;, :SByteArg =&gt; RE, :Int16Arg =&gt; RE, :Int64Arg =&gt; &quot;Int64Arg&quot;, :SingleArg =&gt; TE, 
+          :ByteArg =&gt; RE, :UInt16Arg =&gt; RE, :UInt32Arg =&gt; &quot;UInt32Arg&quot;, :UInt64Arg =&gt; &quot;UInt64Arg&quot;, :CharArg =&gt; &quot;CharArg&quot;, :DecimalArg =&gt; TE, 
+          :ObjectArg =&gt; &quot;ObjectArg&quot;, :NullableInt32Arg =&gt; &quot;NullableInt32Arg&quot; },
+    :abc =&gt; {:NoArg =&gt; AE, :Int32Arg =&gt; &quot;Int32Arg&quot;, :DoubleArg =&gt; TE, :BigIntegerArg =&gt; &quot;BigIntegerArg&quot;, :StringArg =&gt; &quot;StringArg&quot;, 
+          :BooleanArg =&gt; &quot;BooleanArg&quot;, :SByteArg =&gt; RE, :Int16Arg =&gt; RE, :Int64Arg =&gt; &quot;Int64Arg&quot;, :SingleArg =&gt; TE, 
+          :ByteArg =&gt; RE, :UInt16Arg =&gt; RE, :UInt32Arg =&gt; &quot;UInt32Arg&quot;, :UInt64Arg =&gt; &quot;UInt64Arg&quot;, :CharArg =&gt; &quot;CharArg&quot;, :DecimalArg =&gt; TE, 
+          :ObjectArg =&gt; &quot;ObjectArg&quot;, :NullableInt32Arg =&gt; &quot;NullableInt32Arg&quot; },
     
     &quot;false&quot; =&gt; {:NoArg =&gt; AE, :Int32Arg =&gt; TE, :DoubleArg =&gt; TE, :BigIntegerArg =&gt; TE, :StringArg =&gt; TE, 
           :BooleanArg =&gt; &quot;BooleanArg&quot;, :SByteArg =&gt; TE, :Int16Arg =&gt; TE, :Int64Arg =&gt; TE, :SingleArg =&gt; TE, 
@@ -317,7 +340,9 @@ describe &quot;Method parameter binding&quot; do
           @target.send(meth, @values[input]).should == result
         end
       end
+    
       next if result.class == Class &amp;&amp; result &lt; Exception
+      
       it &quot;passes the correct input (#{input}) into method (#{meth})&quot; do
         value = @values[input]
         @target.send(meth, value)
@@ -349,6 +374,22 @@ describe &quot;Method parameter binding&quot; do
                    elsif value.is_a? String
                      value[0..0]
                    end
+                 when /Int32|BigInteger/
+                   if value.is_a? Symbol
+                     value.to_i
+                   end
+                 when /Int64/
+                   if value.is_a? Symbol
+                     System::Int64.induced_from(value.to_i)
+                   end
+                 when /UInt32/
+                   if value.is_a? Symbol
+                     System::UInt32.induced_from(value.to_i)
+                   end
+                 when /UInt64/
+                   if value.is_a? Symbol
+                     System::UInt64.induced_from(value.to_i)
+                   end
                  else
                    value
                  end</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/net/method/invocation/binding_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -66,3 +66,21 @@ fails:Method parameter binding passes the correct input (System::CharMaxValue) i
 fails:Method parameter binding passes the correct input (System::CharMaxValue) into method (SingleArg)
 fails:Method parameter binding passes the correct input (System::SingleMaxValue) into method (BigIntegerArg)
 fails:Method parameter binding passes the correct input (System::SingleMinValue) into method (BigIntegerArg)
+fails:Method parameter binding binds 'BooleanArg' for 'System::String''' with 'BooleanArg'
+fails:Method parameter binding passes the correct input (System::String'') into method (BooleanArg)
+fails:Method parameter binding binds 'BooleanArg' for 'System::String'a'' with 'BooleanArg'
+fails:Method parameter binding passes the correct input (System::String'a') into method (BooleanArg)
+fails:Method parameter binding binds 'CharArg' for 'System::String'a'' with 'CharArg'
+fails:Method parameter binding passes the correct input (System::String'a') into method (CharArg)
+fails:Method parameter binding binds 'BooleanArg' for 'System::String'abc'' with 'BooleanArg'
+fails:Method parameter binding passes the correct input (System::String'abc') into method (BooleanArg)
+fails:Method parameter binding binds 'CharArg' for 'System::String'abc'' with 'CharArg'
+fails:Method parameter binding passes the correct input (System::String'abc') into method (CharArg)
+fails:Method parameter binding binds 'CharArg' for 'a' with 'CharArg'
+fails:Method parameter binding passes the correct input (a) into method (CharArg)
+fails:Method parameter binding binds 'NullableInt32Arg' for 'a' with 'NullableInt32Arg'
+fails:Method parameter binding passes the correct input (a) into method (NullableInt32Arg)
+fails:Method parameter binding binds 'CharArg' for 'abc' with 'CharArg'
+fails:Method parameter binding passes the correct input (abc) into method (CharArg)
+fails:Method parameter binding binds 'NullableInt32Arg' for 'abc' with 'NullableInt32Arg'
+fails:Method parameter binding passes the correct input (abc) into method (NullableInt32Arg)</diff>
      <filename>Merlin/Main/Languages/Ruby/Tests/Interop/tags/net/method/invocation/binding_tags.txt</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>1e50a35c1b0d5fd9f5a48daa7c8686ba85bd60ac</id>
    </parent>
  </parents>
  <author>
    <name>Jim Deville</name>
    <email>jdeville@microsoft.com</email>
  </author>
  <url>http://github.com/shri/ironruby/commit/32f6f63b5bb6d5e20820eef80cae6f36feb19221</url>
  <id>32f6f63b5bb6d5e20820eef80cae6f36feb19221</id>
  <committed-date>2009-09-02T11:27:45-07:00</committed-date>
  <authored-date>2009-09-02T11:27:45-07:00</authored-date>
  <message>System::String and Symbol specs for binding.</message>
  <tree>bcfcf29af4cc894af441d011ef9ef92322fdc1c3</tree>
  <committer>
    <name>Jim Deville</name>
    <email>jdeville@microsoft.com</email>
  </committer>
</commit>
