// // $Id$ // class BEHAVIOR OBJECT attrib parent attrib name attrib objSize // Azon objektumok m‚rete, amik az oszt ly elemei. attrib attribs // Egy 'name' tĄpusŁ objektum (ami ennek az // oszt lynak az eleme) attribŁtumai // {sorsz m,n‚v,tĄpus} form ban. attrib methods // Egy 'name' tĄpusŁ objektum (ami ennek az // oszt lynak az eleme) m–veletei // {sorsz m,n‚v,param‚terek,implSpec} form ban. // Mj.: A m–veleteket v‚grehajt˘ blokkok az // objMethodsImplement  ltal adott blokkban // vannak. attrib classId // Ha az oszt lynak van id-je, akkor az itt t rolva van. // Ha nincs, akkor ez nil. attrib parentClassIds // Vagy nil, vagy egy olyan t”mb, amiben a i. elem nem nil, // haz az adott oszt ly a this “sei k”z”tt van ‚s van id-je. attrib amBlock // Egy blokk, aminek a v‚grehajt sa beĄrja // egy t”mbbe az oszt ly  ltal defini lt // attribŁtumokat ‚s egy m sik t”mbbe pedig // az oszt ly  ltal defini lt m–veleteket. attrib methodsBlock // Egy blokk, aminek a v‚grehajt sa // beĄrja egy t”mbbe az oszt ly  ltal defini lt // m–veletek blokkjait. // (Ezt a t”mb”t adja az objMethodsImplement.) attrib objMethodsImplement // Egy blokkot tartalmaz, amit ki‚rt‚kelve // megkapjuk azt a t”mb”t, aminek az els“ // eleme az oszt ly, a tov bbi elemei pedig // az oszt lyba tartoz˘ objektumok m–veleti // blokkjai, ‚s m s implement ci˘s elemek. nmethod onew{be_onew}() // K‚szĄt egy Łj objektumot, ‚s inicializ lja Łgy, hogy meghĄvja // az oinit() m–velet‚t. // Az objektum a 'this' oszt lyba fog tartozni. nmethod ocreate{be_ocreate}() // K‚szĄt egy Łj objektumot, de nem inicializ lja. // Az objektum a 'this' oszt lyba fog tartozni. nmethod rawoinit{be_rawoinit}(parent,name,nAttribs,nMethods,amBlock,methodsBlock) // Inicializ lja a 'this' oszt lyt. rmethod oinit{be_oinit}(parent,name,nAttribs,nMethods,amBlock,methodsBlock) // Inicializ lja a 'this' oszt lyt a rawoinit()-el, de el“bb // ellen“rzi, hogy az oszt ly metaoszt ly nak van-e m r eleme. // Ha igen, akkor kld egy figyelmeztet‚st. nmethod oinitclass{retobj}() // A Meta onew()-ja hĄvja az oinit() ut n. Az‚rt van itt, hogy ne // kelljen az oinit() hosszŁ param‚terlist j val vesz“dni. nmethod getMethodsImplement{be_getMethodsImplement}() // Ad egy t”mb”t, amiben a m–veletek blokkjai tal lhat˘k. rmethod isClass{be_isClass}() // Mindig igazat ad. (Ez az objektum oszt ly.) nmethod attribIdx{be_attribIdx}(name) // A name nev– attribŁtum index‚t adja, 'nil', ha nincs. nmethod needClassId{be_needClassId}() // Ha .t., akkor az oszt ly nak kell azonosĄt˘t adni. // Ha .f., akkor az oszt ly nak nem kell azonosĄt˘t adni. // Jellemz“ implement ci˘ja: // return class:getClass()==mcCLASS() // Mj.: A 'class=cl()' nem j˘. nmethod isInheritFrom{be_isInheritFrom}(parentClass) // Ha a this ”r”k”l az aClass-t˘l, vagy this==aClass, akkor // igaz, egy‚bk‚nt hamis. // Ha a parentClass-nak van id-je, akkor ez a m–velet sokkal // gyorsabban hajt˘dik v‚gre, mint ha nincs.