SetMethodNoMutateNoEventNoLock() private method

private SetMethodNoMutateNoEventNoLock ( RubyContext callerContext, string name, IronRuby.Runtime.Calls.RubyMemberInfo method ) : void
callerContext RubyContext
name string
method IronRuby.Runtime.Calls.RubyMemberInfo
return void
Esempio n. 1
0
        // thread-safe:
        private static void SetLibraryMethod(RubyModule /*!*/ module, string /*!*/ name, RubyMemberInfo /*!*/ method, bool noEvent)
        {
            var context = module.Context;

            // trigger event only for non-builtins:
            if (noEvent)
            {
                // TODO: hoist lock?
                using (context.ClassHierarchyLocker()) {
                    module.SetMethodNoMutateNoEventNoLock(context, name, method);
                }
            }
            else
            {
                module.AddMethod(context, name, method);
            }
        }
Esempio n. 2
0
 // thread-safe:
 private static void SetLibraryMethod(RubyModule/*!*/ module, string/*!*/ name, RubyMemberInfo/*!*/ method, bool noEvent) {
     var context = module.Context;
     // trigger event only for non-builtins:
     if (noEvent) {
         // TODO: hoist lock?
         using (context.ClassHierarchyLocker()) {
             module.SetMethodNoMutateNoEventNoLock(context, name, method);
         }
     } else {
         module.AddMethod(context, name, method);
     }
 }