44 #ifndef Included_RexxClass
45 #define Included_RexxClass
52 inline void *
operator new(
size_t size,
void *ptr) {
return ptr;};
53 inline void operator delete(
void *) { }
54 inline void operator delete(
void *,
void *) { }
void removeSubclass(RexxClass *c)
void createClassBehaviour(RexxBehaviour *)
void setHasUninitDefined()
RexxClass * newRexx(RexxObject **args, size_t argCount, size_t named_argCount)
void setInstanceBehaviour(RexxBehaviour *)
RexxObject * deleteMethod(RexxString *)
RexxClass * getSuperClass()
RexxClass * subclassRexx(RexxString *, RexxClass *, RexxObject *)
RexxTable * methodDictionaryCreate(RexxTable *, RexxClass *)
static void createInstance()
void mergeSuperClassScopes(RexxBehaviour *target_instance_behaviour)
void addSubClass(RexxClass *)
static RexxClass * classInstance
PackageClass * getPackage()
RexxClass(RESTORETYPE restoreType)
void updateInstanceSubClasses()
void methodDictionaryMerge(RexxTable *, RexxTable *)
void setInitialFlagState()
RexxTable * instanceMethodDictionary
RexxMethod * method(RexxString *)
RexxClass * getMetaClass()
RexxArray * instanceSuperClasses
RexxTable * getInstanceBehaviourDictionary()
static void processNewArgs(RexxObject **, size_t, RexxObject ***, size_t *, size_t, RexxObject **, RexxObject **)
RexxObject * inherit(RexxClass *, RexxClass *)
void defmeths(RexxTable *)
RexxString * defaultNameRexx()
RexxObject * isMetaClassRexx()
RexxObject * notEqual(RexxObject *)
RexxArray * getSubClasses()
void liveGeneral(int reason)
RexxIdentityTable * metaClassScopes
void removeClassMethod(RexxString *method_name)
RexxClass * getBaseClass()
RexxTable * classMethodDictionary
RexxObject * defineMethod(RexxString *, RexxMethod *)
RexxArray * getSuperClasses()
RexxObject * isAbstractRexx()
void setPackage(PackageClass *s)
RexxObject * isSubclassOf(RexxClass *other)
RexxObject * enhanced(RexxObject **, size_t, size_t)
RexxObject * unflatten(RexxEnvelope *)
RexxInteger * queryMixinClass()
RexxBehaviour * getInstanceBehaviour()
RexxTable * getBehaviourDictionary()
RexxObject * equal(RexxObject *)
void setParentHasUninitDefined()
bool parentHasUninitDefined()
RexxObject * defineMethods(RexxTable *)
RexxObject * setRexxDefined()
bool isCompatibleWith(RexxClass *other)
void completeNewObject(RexxObject *obj, RexxObject **initArgs=OREF_NULL, size_t argCount=0)
RexxObject * defineClassMethod(RexxString *method_name, RexxMethod *newMethod)
RexxSupplier * methods(RexxClass *)
void flatten(RexxEnvelope *)
RexxClass * mixinClassRexx(RexxString *, RexxClass *, RexxObject *)
RexxBehaviour * instanceBehaviour
RexxArray * getClassSuperClasses()
RexxObject * strictEqual(RexxObject *)
bool isEqual(RexxObject *)
RexxObject * uninherit(RexxClass *)
RexxArray * classSuperClasses
void clearHasUninitDefined()
RexxString * defaultName()
void createInstanceBehaviour(RexxBehaviour *)
RexxObject * makeProxy(RexxEnvelope *)
RexxArray * metaClassMethodDictionary
RexxClass * subclass(PackageClass *, RexxString *, RexxClass *, RexxTable *)
RexxClass * mixinclass(PackageClass *, RexxString *, RexxClass *, RexxTable *)