IronRuby.Builtins.RubyModule.ResolveSuperMethodNoLock C# (CSharp) Метод

ResolveSuperMethodNoLock() публичный Метод

public ResolveSuperMethodNoLock ( string name, RubyModule callerModule ) : IronRuby.Runtime.Calls.MethodResolutionResult
name string
callerModule RubyModule
Результат IronRuby.Runtime.Calls.MethodResolutionResult
        public MethodResolutionResult ResolveSuperMethodNoLock(string/*!*/ name, RubyModule/*!*/ callerModule) {
            Context.RequiresClassHierarchyLock();
            Assert.NotNull(name, callerModule);

            InitializeMethodsNoLock();

            RubyMemberInfo info = null;
            RubyModule owner = null;
            bool foundModule = false;
            bool skipHidden = false;

            // start searching for the method in the MRO parent of the declaringModule:
            if (ForEachAncestor((module) => {
                if (module == callerModule) {
                    foundModule = true;
                    return false;
                }

                owner = module;
                return foundModule && module.TryGetMethod(name, ref skipHidden, out info) && !info.IsSuperForwarder;
            }) && !info.IsUndefined) {
                return new MethodResolutionResult(info, owner, true);
            }

            return MethodResolutionResult.NotFound;
        }
RubyModule