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

InitializeImmediateClass() приватный Метод

private InitializeImmediateClass ( RubyClass singletonSuperClass, Action trait ) : void
singletonSuperClass RubyClass
trait Action
Результат void
        internal void InitializeImmediateClass(RubyClass/*!*/ singletonSuperClass, Action<RubyModule> trait) {
            Assert.NotNull(singletonSuperClass);

            RubyClass immediate;
            if (IsClass) {
                // class: eager singleton class construction:
                immediate = CreateSingletonClass(singletonSuperClass, trait);
                immediate.InitializeImmediateClass(_context.ClassClass.GetDummySingletonClass());
            } else if (trait != null) {
                // module: eager singleton class construction:
                immediate = CreateSingletonClass(singletonSuperClass, trait);
                immediate.InitializeImmediateClass(singletonSuperClass.GetDummySingletonClass());
            } else {
                // module: lazy singleton class construction:
                immediate = singletonSuperClass;
            }

            InitializeImmediateClass(immediate);
        }

Same methods

RubyModule::InitializeImmediateClass ( RubyClass cls ) : void
RubyModule