00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _H_classcom
00026 #define _H_classcom
00027
00028 #define CONVENIENCE_MODE 0
00029 #define CONSERVATION_MODE 1
00030
00031 #define EnvGetDefclassName(theEnv,x) GetConstructNameString((struct constructHeader *) x)
00032 #define EnvGetDefclassPPForm(theEnv,x) GetConstructPPForm(theEnv,(struct constructHeader *) x)
00033
00034 #define GetDefclassNamePointer(x) GetConstructNamePointer((struct constructHeader *) x)
00035 #define GetDefclassModule(x) GetConstructModuleItem((struct constructHeader *) x)
00036
00037 #define SetNextDefclass(c,t) SetNextConstruct((struct constructHeader *) c, \
00038 (struct constructHeader *) t)
00039
00040 #define SetDefclassPPForm(c,ppf) SetConstructPPForm(theEnv,(struct constructHeader *) c,ppf)
00041
00042 #define EnvDefclassModule(theEnv,x) GetConstructModuleName((struct constructHeader *) x)
00043
00044 #ifndef _H_cstrccom
00045 #include "cstrccom.h"
00046 #endif
00047 #ifndef _H_moduldef
00048 #include "moduldef.h"
00049 #endif
00050 #ifndef _H_object
00051 #include "object.h"
00052 #endif
00053 #ifndef _H_symbol
00054 #include "symbol.h"
00055 #endif
00056
00057 #ifdef LOCALE
00058 #undef LOCALE
00059 #endif
00060
00061 #ifdef _CLASSCOM_SOURCE_
00062 #define LOCALE
00063 #else
00064 #define LOCALE extern
00065 #endif
00066
00067 #define DefclassModule(x) GetConstructModuleName((struct constructHeader *) x)
00068 #define FindDefclass(a) EnvFindDefclass(GetCurrentEnvironment(),a)
00069 #define GetDefclassList(a,b) EnvGetDefclassList(GetCurrentEnvironment(),a,b)
00070 #define GetDefclassName(x) GetConstructNameString((struct constructHeader *) x)
00071 #define GetDefclassPPForm(x) GetConstructPPForm(GetCurrentEnvironment(),(struct constructHeader *) x)
00072 #define GetDefclassWatchInstances(a) EnvGetDefclassWatchInstances(GetCurrentEnvironment(),a)
00073 #define GetDefclassWatchSlots(a) EnvGetDefclassWatchSlots(GetCurrentEnvironment(),a)
00074 #define GetNextDefclass(a) EnvGetNextDefclass(GetCurrentEnvironment(),a)
00075 #define IsDefclassDeletable(a) EnvIsDefclassDeletable(GetCurrentEnvironment(),a)
00076 #define ListDefclasses(a,b) EnvListDefclasses(GetCurrentEnvironment(),a,b)
00077 #define SetDefclassWatchInstances(a,b) EnvSetDefclassWatchInstances(GetCurrentEnvironment(),a,b)
00078 #define SetDefclassWatchSlots(a,b) EnvSetDefclassWatchSlots(GetCurrentEnvironment(),a,b)
00079 #define Undefclass(a) EnvUndefclass(GetCurrentEnvironment(),a)
00080 #define SetClassDefaultsMode(a) EnvSetClassDefaultsMode(GetCurrentEnvironment(),a)
00081 #define GetClassDefaultsMode() EnvGetClassDefaultsMode(GetCurrentEnvironment())
00082
00083 LOCALE void *EnvFindDefclass(void *,char *);
00084 LOCALE DEFCLASS *LookupDefclassByMdlOrScope(void *,char *);
00085 LOCALE DEFCLASS *LookupDefclassInScope(void *,char *);
00086 LOCALE DEFCLASS *LookupDefclassAnywhere(void *,struct defmodule *,char *);
00087 LOCALE intBool DefclassInScope(void *,DEFCLASS *,struct defmodule *);
00088 LOCALE void *EnvGetNextDefclass(void *,void *);
00089 LOCALE intBool EnvIsDefclassDeletable(void *,void *);
00090
00091 LOCALE void UndefclassCommand(void *);
00092 LOCALE unsigned short EnvSetClassDefaultsMode(void *,unsigned short);
00093 LOCALE unsigned short EnvGetClassDefaultsMode(void *);
00094 LOCALE void *GetClassDefaultsModeCommand(void *);
00095 LOCALE void *SetClassDefaultsModeCommand(void *);
00096
00097 #if DEBUGGING_FUNCTIONS
00098 LOCALE void PPDefclassCommand(void *);
00099 LOCALE void ListDefclassesCommand(void *);
00100 LOCALE void EnvListDefclasses(void *,char *,struct defmodule *);
00101 LOCALE unsigned EnvGetDefclassWatchInstances(void *,void *);
00102 LOCALE void EnvSetDefclassWatchInstances(void *,unsigned,void *);
00103 LOCALE unsigned EnvGetDefclassWatchSlots(void *,void *);
00104 LOCALE void EnvSetDefclassWatchSlots(void *,unsigned,void *);
00105 LOCALE unsigned DefclassWatchAccess(void *,int,unsigned,EXPRESSION *);
00106 LOCALE unsigned DefclassWatchPrint(void *,char *,int,EXPRESSION *);
00107 #endif
00108
00109 LOCALE void GetDefclassListFunction(void *,DATA_OBJECT *);
00110 LOCALE void EnvGetDefclassList(void *,DATA_OBJECT *,struct defmodule *);
00111 LOCALE intBool EnvUndefclass(void *,void *);
00112 LOCALE intBool HasSuperclass(DEFCLASS *,DEFCLASS *);
00113
00114 LOCALE SYMBOL_HN *CheckClassAndSlot(void *,char *,DEFCLASS **);
00115
00116 #if (! BLOAD_ONLY) && (! RUN_TIME)
00117 LOCALE void SaveDefclasses(void *,void *,char *);
00118 #endif
00119
00120 #endif
00121
00122
00123
00124