<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -6,6 +6,7 @@ using IronRuby.Builtins;
 using IronRuby.Runtime;
 using IronRuby.Runtime.Calls;
 using Microsoft.Scripting;
+using Microsoft.Scripting.Utils;
 using Microsoft.Scripting.Runtime;
 
 namespace IronRuby.Libraries.Json {</diff>
      <filename>src/Generator/Generator.cs</filename>
    </modified>
    <modified>
      <diff>@@ -7,6 +7,7 @@ using IronRuby.Builtins;
 using IronRuby.Runtime;
 using IronRuby.Runtime.Calls;
 using Microsoft.Scripting;
+using Microsoft.Scripting.Utils;
 using Microsoft.Scripting.Runtime;
 
 namespace IronRuby.Libraries.Json {</diff>
      <filename>src/Helpers.cs</filename>
    </modified>
    <modified>
      <diff>@@ -1,199 +1,202 @@
-[assembly: IronRuby.Runtime.RubyLibraryAttribute(typeof(IronRuby.Libraries.Json.JsonLibraryInitializer))]
-
-namespace IronRuby.Libraries.Json {
-    public sealed class JsonLibraryInitializer : IronRuby.Builtins.LibraryInitializer {
-        protected override void LoadModules() {
-            
-            
-            ExtendClass(typeof(IronRuby.Builtins.FalseClass), null, LoadIronRuby__Builtins__FalseClass_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(IronRuby.Builtins.Hash), null, LoadIronRuby__Builtins__Hash_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(IronRuby.Builtins.MutableString), null, LoadIronRuby__Builtins__MutableString_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(IronRuby.Builtins.RubyArray), null, LoadIronRuby__Builtins__RubyArray_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(IronRuby.Builtins.TrueClass), null, LoadIronRuby__Builtins__TrueClass_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            IronRuby.Builtins.RubyModule def3 = DefineGlobalModule(&quot;JSON__&quot;, typeof(IronRuby.Libraries.Json.JSON), 0x00000103, null, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            IronRuby.Builtins.RubyModule def4 = DefineModule(&quot;JSON__::Ext&quot;, typeof(IronRuby.Libraries.Json.JSON.Ext), 0x00000103, null, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            IronRuby.Builtins.RubyModule def1 = DefineModule(&quot;JSON__::Ext::Generator&quot;, typeof(IronRuby.Libraries.Json.JSON.Ext.Generator), 0x00000103, null, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(Microsoft.Scripting.Runtime.DynamicNull), null, LoadMicrosoft__Scripting__Runtime__DynamicNull_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(System.Double), null, LoadSystem__Double_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(System.Int32), null, LoadSystem__Int32_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            ExtendClass(typeof(System.Object), null, LoadSystem__Object_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            IronRuby.Builtins.RubyClass def2 = DefineClass(&quot;JSON__::Ext::Generator::State&quot;, typeof(IronRuby.Libraries.Json.GeneratorState), 0x00000003, Context.ObjectClass, LoadJSON____Ext__Generator__State_Instance, LoadJSON____Ext__Generator__State_Class, null, IronRuby.Builtins.RubyModule.EmptyArray);
-            IronRuby.Builtins.RubyClass def5 = DefineClass(&quot;JSON__::Ext::Parser&quot;, typeof(IronRuby.Libraries.Json.Parser), 0x00000003, Context.ObjectClass, LoadJSON____Ext__Parser_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray, 
-                new System.Func&lt;IronRuby.Runtime.RespondToStorage, IronRuby.Runtime.RubyScope, IronRuby.Builtins.RubyClass, IronRuby.Builtins.MutableString, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.Parser&gt;(IronRuby.Libraries.Json.JSON.Ext.ParserOps.CreateParser)
-            );
-            def3.SetConstant(&quot;Ext&quot;, def4);
-            def4.SetConstant(&quot;Generator&quot;, def1);
-            def1.SetConstant(&quot;State&quot;, def2);
-            def4.SetConstant(&quot;Parser&quot;, def5);
-        }
-        
-        private static void LoadIronRuby__Builtins__FalseClass_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;System.Boolean, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.FalseOps.ToJson)
-            );
-            
-        }
-        
-        private static void LoadIronRuby__Builtins__Hash_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.ConversionStorage&lt;IronRuby.Builtins.MutableString&gt;, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.HashOps.ToJson)
-            );
-            
-        }
-        
-        private static void LoadIronRuby__Builtins__MutableString_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Builtins.MutableString, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.MutableStringOps.ToJson)
-            );
-            
-            module.DefineLibraryMethod(&quot;to_json_raw&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyScope, IronRuby.Builtins.MutableString, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.MutableStringOps.ToJsonRaw)
-            );
-            
-            module.DefineLibraryMethod(&quot;to_json_raw_object&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyScope, IronRuby.Builtins.MutableString, IronRuby.Builtins.Hash&gt;(IronRuby.Libraries.Json.Builtins.MutableStringOps.ToJsonRawObject)
-            );
-            
-        }
-        
-        private static void LoadIronRuby__Builtins__RubyArray_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Builtins.RubyArray, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.ArrayOps.ToJson)
-            );
-            
-        }
-        
-        private static void LoadIronRuby__Builtins__TrueClass_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;System.Boolean, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.TrueOps.ToJson)
-            );
-            
-        }
-        
-        private static void LoadJSON____Ext__Generator__State_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;array_nl&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetArrayNl)
-            );
-            
-            module.DefineLibraryMethod(&quot;array_nl=&quot;, 0x11, 
-                new System.Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetArrayNl)
-            );
-            
-            module.DefineLibraryMethod(&quot;check_circular?&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Boolean&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetCheckCircular)
-            );
-            
-            module.DefineLibraryMethod(&quot;configure&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.Reconfigure)
-            );
-            
-            module.DefineLibraryMethod(&quot;forget&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Object, System.Object&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.AForget)
-            );
-            
-            module.DefineLibraryMethod(&quot;indent&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetIndent)
-            );
-            
-            module.DefineLibraryMethod(&quot;indent=&quot;, 0x11, 
-                new System.Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetIndent)
-            );
-            
-            module.DefineLibraryMethod(&quot;initialize&quot;, 0x12, 
-                new System.Func&lt;IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.Reinitialize)
-            );
-            
-            module.DefineLibraryMethod(&quot;max_nesting&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Int32&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetMaxNesting)
-            );
-            
-            module.DefineLibraryMethod(&quot;max_nesting=&quot;, 0x11, 
-                new System.Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Int32&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetMaxNesting)
-            );
-            
-            module.DefineLibraryMethod(&quot;object_nl&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetObjectNl)
-            );
-            
-            module.DefineLibraryMethod(&quot;object_nl=&quot;, 0x11, 
-                new System.Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetObjectNl)
-            );
-            
-            module.DefineLibraryMethod(&quot;remember&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Object, System.Boolean&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.ARemember)
-            );
-            
-            module.DefineLibraryMethod(&quot;seen?&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Object, System.Object&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.ASeen)
-            );
-            
-            module.DefineLibraryMethod(&quot;space&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetSpace)
-            );
-            
-            module.DefineLibraryMethod(&quot;space_before&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetSpaceBefore)
-            );
-            
-            module.DefineLibraryMethod(&quot;space_before=&quot;, 0x11, 
-                new System.Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetSpaceBefore)
-            );
-            
-            module.DefineLibraryMethod(&quot;space=&quot;, 0x11, 
-                new System.Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetSpace)
-            );
-            
-            module.DefineLibraryMethod(&quot;to_h&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.Hash&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.ToHash)
-            );
-            
-        }
-        
-        private static void LoadJSON____Ext__Generator__State_Class(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;from_state&quot;, 0x21, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Builtins.RubyModule, System.Object, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.FromState)
-            );
-            
-            module.DefineLibraryMethod(&quot;new&quot;, 0x21, 
-                new System.Func&lt;IronRuby.Builtins.RubyClass, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.CreateGeneratorState)
-            );
-            
-        }
-        
-        private static void LoadJSON____Ext__Parser_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;parse&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RespondToStorage, IronRuby.Runtime.UnaryOpStorage, IronRuby.Runtime.BinaryOpStorage, IronRuby.Runtime.CallSiteStorage&lt;System.Action&lt;System.Runtime.CompilerServices.CallSite, System.Exception, IronRuby.Builtins.RubyArray&gt;&gt;, IronRuby.Runtime.RubyScope, IronRuby.Libraries.Json.Parser, System.Object&gt;(IronRuby.Libraries.Json.JSON.Ext.ParserOps.Parse)
-            );
-            
-        }
-        
-        private static void LoadMicrosoft__Scripting__Runtime__DynamicNull_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;Microsoft.Scripting.Runtime.DynamicNull, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.DynamicNullOps.ToJson)
-            );
-            
-        }
-        
-        private static void LoadSystem__Double_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;System.Double, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.FloatOps.ToJson)
-            );
-            
-        }
-        
-        private static void LoadSystem__Int32_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;System.Int32, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.FixnumOps.ToJson)
-            );
-            
-        }
-        
-        private static void LoadSystem__Object_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
-            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
-                new System.Func&lt;IronRuby.Runtime.RubyContext, System.Object, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.ObjectOps.ToJson)
-            );
-            
-        }
-        
-    }
-}
+[assembly: IronRuby.Runtime.RubyLibraryAttribute(typeof(IronRuby.Libraries.Json.JsonLibraryInitializer))]
+
+namespace IronRuby.Libraries.Json {
+    using System;
+    using Microsoft.Scripting.Utils;
+    
+    public sealed class JsonLibraryInitializer : IronRuby.Builtins.LibraryInitializer {
+        protected override void LoadModules() {
+            
+            
+            ExtendClass(typeof(IronRuby.Builtins.FalseClass), 0x00000000, null, LoadIronRuby__Builtins__FalseClass_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(IronRuby.Builtins.Hash), 0x00000000, null, LoadIronRuby__Builtins__Hash_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(IronRuby.Builtins.MutableString), 0x00000000, null, LoadIronRuby__Builtins__MutableString_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(IronRuby.Builtins.RubyArray), 0x00000000, null, LoadIronRuby__Builtins__RubyArray_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(IronRuby.Builtins.TrueClass), 0x00000000, null, LoadIronRuby__Builtins__TrueClass_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            IronRuby.Builtins.RubyModule def3 = DefineGlobalModule(&quot;JSON__&quot;, typeof(IronRuby.Libraries.Json.JSON), 0x00000100, null, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            IronRuby.Builtins.RubyModule def4 = DefineModule(&quot;JSON__::Ext&quot;, typeof(IronRuby.Libraries.Json.JSON.Ext), 0x00000100, null, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            IronRuby.Builtins.RubyModule def1 = DefineModule(&quot;JSON__::Ext::Generator&quot;, typeof(IronRuby.Libraries.Json.JSON.Ext.Generator), 0x00000100, null, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(Microsoft.Scripting.Runtime.DynamicNull), 0x00000000, null, LoadMicrosoft__Scripting__Runtime__DynamicNull_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(System.Double), 0x00000000, null, LoadSystem__Double_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(System.Int32), 0x00000000, null, LoadSystem__Int32_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            ExtendClass(typeof(System.Object), 0x00000000, null, LoadSystem__Object_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            IronRuby.Builtins.RubyClass def2 = DefineClass(&quot;JSON__::Ext::Generator::State&quot;, typeof(IronRuby.Libraries.Json.GeneratorState), 0x00000000, Context.ObjectClass, LoadJSON____Ext__Generator__State_Instance, LoadJSON____Ext__Generator__State_Class, null, IronRuby.Builtins.RubyModule.EmptyArray);
+            IronRuby.Builtins.RubyClass def5 = DefineClass(&quot;JSON__::Ext::Parser&quot;, typeof(IronRuby.Libraries.Json.Parser), 0x00000000, Context.ObjectClass, LoadJSON____Ext__Parser_Instance, null, null, IronRuby.Builtins.RubyModule.EmptyArray, 
+                new Func&lt;IronRuby.Runtime.RespondToStorage, IronRuby.Runtime.RubyScope, IronRuby.Builtins.RubyClass, IronRuby.Builtins.MutableString, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.Parser&gt;(IronRuby.Libraries.Json.JSON.Ext.ParserOps.CreateParser)
+            );
+            def3.SetConstant(&quot;Ext&quot;, def4);
+            def4.SetConstant(&quot;Generator&quot;, def1);
+            def1.SetConstant(&quot;State&quot;, def2);
+            def4.SetConstant(&quot;Parser&quot;, def5);
+        }
+        
+        private static void LoadIronRuby__Builtins__FalseClass_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;System.Boolean, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.FalseOps.ToJson)
+            );
+            
+        }
+        
+        private static void LoadIronRuby__Builtins__Hash_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.ConversionStorage&lt;IronRuby.Builtins.MutableString&gt;, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.HashOps.ToJson)
+            );
+            
+        }
+        
+        private static void LoadIronRuby__Builtins__MutableString_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Builtins.MutableString, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.MutableStringOps.ToJson)
+            );
+            
+            module.DefineLibraryMethod(&quot;to_json_raw&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyScope, IronRuby.Builtins.MutableString, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.MutableStringOps.ToJsonRaw)
+            );
+            
+            module.DefineLibraryMethod(&quot;to_json_raw_object&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyScope, IronRuby.Builtins.MutableString, IronRuby.Builtins.Hash&gt;(IronRuby.Libraries.Json.Builtins.MutableStringOps.ToJsonRawObject)
+            );
+            
+        }
+        
+        private static void LoadIronRuby__Builtins__RubyArray_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Builtins.RubyArray, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.ArrayOps.ToJson)
+            );
+            
+        }
+        
+        private static void LoadIronRuby__Builtins__TrueClass_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;System.Boolean, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.TrueOps.ToJson)
+            );
+            
+        }
+        
+        private static void LoadJSON____Ext__Generator__State_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;array_nl&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetArrayNl)
+            );
+            
+            module.DefineLibraryMethod(&quot;array_nl=&quot;, 0x11, 
+                new Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetArrayNl)
+            );
+            
+            module.DefineLibraryMethod(&quot;check_circular?&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Boolean&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetCheckCircular)
+            );
+            
+            module.DefineLibraryMethod(&quot;configure&quot;, 0x11, 
+                new Func&lt;IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.Reconfigure)
+            );
+            
+            module.DefineLibraryMethod(&quot;forget&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Object, System.Object&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.AForget)
+            );
+            
+            module.DefineLibraryMethod(&quot;indent&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetIndent)
+            );
+            
+            module.DefineLibraryMethod(&quot;indent=&quot;, 0x11, 
+                new Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetIndent)
+            );
+            
+            module.DefineLibraryMethod(&quot;initialize&quot;, 0x12, 
+                new Func&lt;IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.Reinitialize)
+            );
+            
+            module.DefineLibraryMethod(&quot;max_nesting&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Int32&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetMaxNesting)
+            );
+            
+            module.DefineLibraryMethod(&quot;max_nesting=&quot;, 0x11, 
+                new Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Int32&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetMaxNesting)
+            );
+            
+            module.DefineLibraryMethod(&quot;object_nl&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetObjectNl)
+            );
+            
+            module.DefineLibraryMethod(&quot;object_nl=&quot;, 0x11, 
+                new Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetObjectNl)
+            );
+            
+            module.DefineLibraryMethod(&quot;remember&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Object, System.Boolean&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.ARemember)
+            );
+            
+            module.DefineLibraryMethod(&quot;seen?&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, System.Object, System.Object&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.ASeen)
+            );
+            
+            module.DefineLibraryMethod(&quot;space&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetSpace)
+            );
+            
+            module.DefineLibraryMethod(&quot;space_before&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.GetSpaceBefore)
+            );
+            
+            module.DefineLibraryMethod(&quot;space_before=&quot;, 0x11, 
+                new Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetSpaceBefore)
+            );
+            
+            module.DefineLibraryMethod(&quot;space=&quot;, 0x11, 
+                new Action&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.SetSpace)
+            );
+            
+            module.DefineLibraryMethod(&quot;to_h&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Libraries.Json.GeneratorState, IronRuby.Builtins.Hash&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.ToHash)
+            );
+            
+        }
+        
+        private static void LoadJSON____Ext__Generator__State_Class(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;from_state&quot;, 0x21, 
+                new Func&lt;IronRuby.Runtime.RubyContext, IronRuby.Builtins.RubyModule, System.Object, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.FromState)
+            );
+            
+            module.DefineLibraryMethod(&quot;new&quot;, 0x21, 
+                new Func&lt;IronRuby.Builtins.RubyClass, IronRuby.Builtins.Hash, IronRuby.Libraries.Json.GeneratorState&gt;(IronRuby.Libraries.Json.JSON.Ext.Generator.GeneratorStateOps.CreateGeneratorState)
+            );
+            
+        }
+        
+        private static void LoadJSON____Ext__Parser_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;parse&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RespondToStorage, IronRuby.Runtime.UnaryOpStorage, IronRuby.Runtime.BinaryOpStorage, IronRuby.Runtime.CallSiteStorage&lt;Action&lt;System.Runtime.CompilerServices.CallSite, System.Exception, IronRuby.Builtins.RubyArray&gt;&gt;, IronRuby.Runtime.RubyScope, IronRuby.Libraries.Json.Parser, System.Object&gt;(IronRuby.Libraries.Json.JSON.Ext.ParserOps.Parse)
+            );
+            
+        }
+        
+        private static void LoadMicrosoft__Scripting__Runtime__DynamicNull_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;Microsoft.Scripting.Runtime.DynamicNull, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.DynamicNullOps.ToJson)
+            );
+            
+        }
+        
+        private static void LoadSystem__Double_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;System.Double, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.FloatOps.ToJson)
+            );
+            
+        }
+        
+        private static void LoadSystem__Int32_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;System.Int32, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.FixnumOps.ToJson)
+            );
+            
+        }
+        
+        private static void LoadSystem__Object_Instance(IronRuby.Builtins.RubyModule/*!*/ module) {
+            module.DefineLibraryMethod(&quot;to_json&quot;, 0x11, 
+                new Func&lt;IronRuby.Runtime.RubyContext, System.Object, IronRuby.Libraries.Json.GeneratorState, System.Int32, IronRuby.Builtins.MutableString&gt;(IronRuby.Libraries.Json.Builtins.ObjectOps.ToJson)
+            );
+            
+        }
+        
+    }
+}</diff>
      <filename>src/Initializers.Generated.cs</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
   &lt;PropertyGroup&gt;
     &lt;Configuration Condition=&quot; '$(Configuration)' == '' &quot;&gt;Debug&lt;/Configuration&gt;
     &lt;Platform Condition=&quot; '$(Platform)' == '' &quot;&gt;AnyCPU&lt;/Platform&gt;
-    &lt;ProductVersion&gt;9.0.21022&lt;/ProductVersion&gt;
+    &lt;ProductVersion&gt;9.0.30729&lt;/ProductVersion&gt;
     &lt;SchemaVersion&gt;2.0&lt;/SchemaVersion&gt;
     &lt;ProjectGuid&gt;{050BF41C-6027-4080-A0C9-2D027E5FF8CB}&lt;/ProjectGuid&gt;
     &lt;OutputType&gt;Library&lt;/OutputType&gt;
@@ -55,10 +55,6 @@
       &lt;Project&gt;{2AE75F5A-CD1F-4925-9647-AF4D1C282FB4}&lt;/Project&gt;
       &lt;Name&gt;Microsoft.Scripting.Core&lt;/Name&gt;
     &lt;/ProjectReference&gt;
-    &lt;ProjectReference Include=&quot;..\..\..\..\..\Main\Runtime\Microsoft.Scripting\Microsoft.Scripting.csproj&quot;&gt;
-      &lt;Project&gt;{EB66B766-6354-4208-A3D4-AACBDCB5C3B3}&lt;/Project&gt;
-      &lt;Name&gt;Microsoft.Scripting&lt;/Name&gt;
-    &lt;/ProjectReference&gt;
     &lt;ProjectReference Include=&quot;..\..\..\..\..\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\IronRuby.Libraries.csproj&quot;&gt;
       &lt;Project&gt;{77323B06-15A2-4CF4-8A7A-86EAA2B66498}&lt;/Project&gt;
       &lt;Name&gt;IronRuby.Libraries&lt;/Name&gt;
@@ -67,6 +63,14 @@
       &lt;Project&gt;{7F6984B4-EE6D-4E6F-ABB1-E210D7DC4FDD}&lt;/Project&gt;
       &lt;Name&gt;Ruby&lt;/Name&gt;
     &lt;/ProjectReference&gt;
+    &lt;ProjectReference Include=&quot;..\..\..\..\..\Main\Runtime\Microsoft.Dynamic\Microsoft.Dynamic.csproj&quot;&gt;
+      &lt;Project&gt;{EB66B766-6354-4208-A3D4-AACBDCB5C3B3}&lt;/Project&gt;
+      &lt;Name&gt;Microsoft.Dynamic&lt;/Name&gt;
+    &lt;/ProjectReference&gt;
+    &lt;ProjectReference Include=&quot;..\..\..\..\..\Main\Runtime\Microsoft.Scripting\Microsoft.Scripting.csproj&quot;&gt;
+      &lt;Project&gt;{02FF0909-F5AD-48CF-A86A-345E721B7E40}&lt;/Project&gt;
+      &lt;Name&gt;Microsoft.Scripting&lt;/Name&gt;
+    &lt;/ProjectReference&gt;
   &lt;/ItemGroup&gt;
   &lt;Import Project=&quot;$(MSBuildToolsPath)\Microsoft.CSharp.targets&quot; /&gt;
   &lt;!-- To modify your build process, add your task inside one of the targets below and uncomment it. </diff>
      <filename>src/IronRuby.Libraries.Json.csproj</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ using System.Reflection;
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
 using Microsoft.Scripting;
+using Microsoft.Scripting.Utils;
 using Microsoft.Scripting.Runtime;
 using IronRuby.Builtins;
 using IronRuby.Runtime;</diff>
      <filename>src/Parser/ParserEngine.cs</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,7 @@ using System.Runtime.InteropServices;
 using IronRuby.Builtins;
 using IronRuby.Runtime;
 using Microsoft.Scripting;
+using Microsoft.Scripting.Utils;
 using Microsoft.Scripting.Runtime;
 
 namespace IronRuby.Libraries.Json {</diff>
      <filename>src/Parser/ParserOps.cs</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4c3da13bfe2afe456855812e4fb44b092a5a45a0</id>
    </parent>
  </parents>
  <author>
    <name>Daniele Alessandri</name>
    <email>suppakilla@gmail.com</email>
  </author>
  <url>http://github.com/nrk/ironruby-json/commit/708bb334e29a3e24aa4986c55c7002a05ef24525</url>
  <id>708bb334e29a3e24aa4986c55c7002a05ef24525</id>
  <committed-date>2009-10-18T02:28:44-07:00</committed-date>
  <authored-date>2009-10-18T02:28:44-07:00</authored-date>
  <message>Bumped the compatibility version to IronRuby &gt; 0.9.1 (up to commit 1451cb6a).</message>
  <tree>df193ac12af696653fa377f6242c10fa86435c7a</tree>
  <committer>
    <name>Daniele Alessandri</name>
    <email>suppakilla@gmail.com</email>
  </committer>
</commit>
