// METACLAS.och oszt ly implement ci¢. // Gener lva: 1999.10.10, 14:31:52, OBJCCC v2.2.03 // Meta oszt ly defin¡ci¢: Van #ifndef CA_META_N #ifdef _STRICT_PARENT_ #ifdef _CA_CM_ONLY_ #include "META.och" #else // _CA_CM_ONLY_ #define _CA_CM_ONLY_ #include "META.och" #undef _CA_CM_ONLY_ #endif // _CA_CM_ONLY_ #else #include "META.och" #endif // _STRICT_PARENT_ #endif // CA_META_N #ifndef _CA_CM_ONLY_ #ifndef _METACLAS_OCH_ #define _METACLAS_OCH_ #xtranslate METACLAS.:parent => \[CA_OBJECT_N+1\] #xtranslate METACLAS.:name => \[CA_OBJECT_N+2\] #xtranslate METACLAS.:objsize => \[CA_OBJECT_N+3\] #xtranslate METACLAS.:attribs => \[CA_OBJECT_N+4\] #xtranslate METACLAS.:methods => \[CA_OBJECT_N+5\] #xtranslate METACLAS.:classid => \[CA_OBJECT_N+6\] #xtranslate METACLAS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate METACLAS.:amblock => \[CA_OBJECT_N+8\] #xtranslate METACLAS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate METACLAS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate METACLAS.:ofclass => \[CA_BEHAVIOR_N+1\] #xtranslate METACLAS.:oinit => (OBJGEN.():(4)) #xtranslate METACLAS.:getclass => (OBJGEN.():(5)) #xtranslate METACLAS.:isclass => (OBJGEN.():(6)) #xtranslate METACLAS.:getattrib => (OBJGEN.():(7)) #xtranslate METACLAS.:setattrib => (OBJGEN.():(8)) #xtranslate METACLAS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate METACLAS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate METACLAS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate METACLAS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate METACLAS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate METACLAS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate METACLAS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate METACLAS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) #endif // _METACLAS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_METACLAS_N #define CA_METACLAS_N CA_META_N+0 #define CM_METACLAS_N CM_META_N+0 #endif // CA_METACLAS_N #ifndef _CA_CM_ONLY_ #ifndef _METACLAS_OCH_ #define _METACLAS_OCH_ ********************************************************************** #xtranslate C.METACLAS: => (METACLAS.clMETACLAS():) #xtranslate C.METACLAS:self() => (clMETACLAS()) #xtranslate METACLAS.:parent => \[CA_OBJECT_N+1\] #xtranslate METACLAS.:name => \[CA_OBJECT_N+2\] #xtranslate METACLAS.:objsize => \[CA_OBJECT_N+3\] #xtranslate METACLAS.:attribs => \[CA_OBJECT_N+4\] #xtranslate METACLAS.:methods => \[CA_OBJECT_N+5\] #xtranslate METACLAS.:classid => \[CA_OBJECT_N+6\] #xtranslate METACLAS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate METACLAS.:amblock => \[CA_OBJECT_N+8\] #xtranslate METACLAS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate METACLAS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate METACLAS.:ofclass => \[CA_BEHAVIOR_N+1\] #xtranslate METACLAS.:oinit => (OBJGEN.():(4)) #xtranslate METACLAS.:getclass => (OBJGEN.():(5)) #xtranslate METACLAS.:isclass => (OBJGEN.():(6)) #xtranslate METACLAS.:getattrib => (OBJGEN.():(7)) #xtranslate METACLAS.:setattrib => (OBJGEN.():(8)) #xtranslate METACLAS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate METACLAS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate METACLAS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate METACLAS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate METACLAS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate METACLAS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate METACLAS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate METACLAS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) #endif // _METACLAS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_METACLAS_N #define CA_METACLAS_N CA_META_N+0 #define CM_METACLAS_N CM_META_N+0 #endif // CA_METACLAS_N ********************************************************************** #ifdef _METACLAS_PRG_ #ifndef _METACLAS_PRG_OCH_ #define _METACLAS_PRG_OCH_ ********************************************************************** #xtranslate othis: => METACLAS.(othis): #xtranslate thisclass: => METACLAS.(this:getClass()): #define CTHIS METACLAS ********************************************************************** #xtranslate this: => METACLAS.(this): #ifdef _IMPLEMENT_EXPORT_ #endif // _IMPLEMENT_EXPORT_ #xtranslate super:oinit => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(4)) #xtranslate super:getclass => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(5)) #xtranslate super:isclass => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(6)) #xtranslate super:getattrib => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(7)) #xtranslate super:setattrib => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(8)) #xtranslate super:onew => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+1)) #xtranslate super:ocreate => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+2)) #xtranslate super:rawoinit => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+3)) #xtranslate super:oinitclass => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+4)) #xtranslate super:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+5)) #xtranslate super:attribidx => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+6)) #xtranslate super:needclassid => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+7)) #xtranslate super:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(this):(CM_OBJECT_N+8)) ********************************************************************** static function setCMethods(pOsztaly) // Egy t”mb”t felt”lt az oszt ly m–veleti blokkjaival. return pOsztaly ********************************************************************** static function setCams(ta,tm) // Egy t”mb”t felt”lt az oszt ly  ltal def. objektumok attrib£tumaival ‚s m–veleteivel. return nil #ifndef _NO_CLMETACLAS_ #ifdef _STRICT_PARENT_ #ifdef _CA_CM_ONLY_ #include "meta.och" #else // _CA_CM_ONLY_ #define _CA_CM_ONLY_ #include "meta.och" #undef _CA_CM_ONLY_ #endif // _CA_CM_ONLY_ #else #include "meta.och" #endif // _STRICT_PARENT_ ********************************************************************** function clMETACLAS() // El“szedi az oszt lyt. (class) static osztaly if (osztaly==nil) osztaly:=META.clMETACLAS():onew(; clMETA(),; "METACLAS",; CA_METACLAS_N,; CM_METACLAS_N,; {|ta,tm|setCams(ta,tm)},; {|t|setCMethods(t)}) endif return osztaly #endif // _NO_CLMETACLAS_ #ifndef _NO_METACLAS_ ********************************************************************** #xtranslate class: => METACLAS.(class): #ifdef _IMPLEMENT_EXPORT_ #endif // _IMPLEMENT_EXPORT_ #xtranslate superclass:oinit => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(4)) #xtranslate superclass:getclass => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(5)) #xtranslate superclass:isclass => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(6)) #xtranslate superclass:getattrib => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(7)) #xtranslate superclass:setattrib => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(8)) #xtranslate superclass:onew => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+1)) #xtranslate superclass:ocreate => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+2)) #xtranslate superclass:rawoinit => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+3)) #xtranslate superclass:oinitclass => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+4)) #xtranslate superclass:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+5)) #xtranslate superclass:attribidx => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+6)) #xtranslate superclass:needclassid => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+7)) #xtranslate superclass:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.clMETA():objmethodsimplement)).(class):(CM_OBJECT_N+8)) ********************************************************************** static function setMCMethods(pOsztaly) // Egy t”mb”t felt”lt a metaoszt ly m–veleti blokkjaival. return pOsztaly ********************************************************************** static function setMCams(ta,tm) // Egy t”mb”t felt”lt a metaoszt ly  ltal def. objektumok attrib£tumaival ‚s m–veleteivel. return nil ********************************************************************** #ifndef _NO_MCMETACLAS_ #ifdef _STRICT_PARENT_ #ifdef _CA_CM_ONLY_ #include "meta.och" // "metaclas.och" #else // _CA_CM_ONLY_ #define _CA_CM_ONLY_ #include "meta.och" // "metaclas.och" #undef _CA_CM_ONLY_ #endif // _CA_CM_ONLY_ #else #include "meta.och" // "metaclas.och" #endif // _STRICT_PARENT_ function mcMETACLAS() // El“szedi az oszt ly metaoszt ly t. (metaclass) static metaOsztaly if (metaOsztaly==nil) metaOsztaly:=META.clMETA():onew(; clMETA(),; "METACLAS",; CA_METACLAS_N,; CM_METACLAS_N,; {|ta,tm|setMCams(ta,tm)},; {|t|setMCMethods(t)}) endif return metaOsztaly #endif // _NO_MCMETACLAS_ #endif // _NO_METACLAS_ ********************************************************************** #endif // _METACLAS_PRG_OCH_ #endif // _METACLAS_PRG_