예제 #1
0
파일: Class.cs 프로젝트: emtees/old-code
 internal RMetaObject(NetRuby rb, string name, RMetaObject sp, RMetaObject meta)
     : base(rb, meta)
 {
     super = sp;
     m_tbl = new st_table();
     if (name != null)
     {
         uint id = rb.intern(name);
         IVarSet("__classid__", Symbol.ID2SYM(id));
     }
 }
예제 #2
0
파일: Thread.cs 프로젝트: emtees/old-code
 internal static void Init(NetRuby rb)
 {
     RThreadGroupClass t = new RThreadGroupClass(rb);
     t.DefineClass("ThreadGroup", rb.cObject);
     rb.cThreadGroup = t;
     t.DefineSingletonMethod("new", new RMethod(tg_new), -1);
     t.DefineMethod("list", new RMethod(list), 0);
     t.DefineMethod("add", new RMethod(add), 1);
     RThreadGroup rg = (RThreadGroup)tg_new(t);
     t.ConstSet(rb.intern("Default"), rg);
     rg.Add(rb.GetCurrentContext());
 }
예제 #3
0
파일: Thread.cs 프로젝트: emtees/old-code
        internal void Init(NetRuby rb)
        {
            if (klass == null)
                klass = rb.cThread;
            rClass = rb.cObject;
            ////frame.self = rb.topSelf;
            ////cRef = rb.topCRef;
            abortOnException = rb.cThread.abortOnException;

            RThreadGroup tg = (RThreadGroup)rb.cThreadGroup.ConstGetAt(rb.intern("Default"));
            tg.Add(this);
        }
예제 #4
0
파일: Class.cs 프로젝트: emtees/old-code
 public RModule(NetRuby rb, string name, RMetaObject spr)
     : base(rb, name, spr, rb.cModule)
 {
     if (name != null)
     {
         uint id = rb.intern(name);
         rb.class_tbl.Add(id, this);
     }
 }