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_genrccom
00026 #define _H_genrccom
00027
00028 #define EnvGetDefgenericName(theEnv,x) GetConstructNameString((struct constructHeader *) x)
00029 #define EnvGetDefgenericPPForm(theEnv,x) GetConstructPPForm(theEnv,(struct constructHeader *) x)
00030
00031 #define SetNextDefgeneric(g,t) SetNextConstruct((struct constructHeader *) g, \
00032 (struct constructHeader *) t)
00033 #define GetDefgenericNamePointer(x) GetConstructNamePointer((struct constructHeader *) x)
00034 #define SetDefgenericPPForm(g,ppf) SetConstructPPForm(theEnv,(struct constructHeader *) g,ppf)
00035
00036 #define EnvDefgenericModule(theEnv,x) GetConstructModuleName((struct constructHeader *) x)
00037
00038 #ifndef _H_constrct
00039 #include "constrct.h"
00040 #endif
00041 #ifndef _H_cstrccom
00042 #include "cstrccom.h"
00043 #endif
00044 #ifndef _H_evaluatn
00045 #include "evaluatn.h"
00046 #endif
00047 #ifndef _H_moduldef
00048 #include "moduldef.h"
00049 #endif
00050 #ifndef _H_genrcfun
00051 #include "genrcfun.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 _GENRCCOM_SOURCE_
00062 #define LOCALE
00063 #else
00064 #define LOCALE extern
00065 #endif
00066
00067 #define DefgenericModule(x) GetConstructModuleName((struct constructHeader *) x)
00068 #define FindDefgeneric(a) EnvFindDefgeneric(GetCurrentEnvironment(),a)
00069 #define GetDefgenericList(a,b) EnvGetDefgenericList(GetCurrentEnvironment(),a,b)
00070 #define GetDefgenericName(x) GetConstructNameString((struct constructHeader *) x)
00071 #define GetDefgenericPPForm(x) GetConstructPPForm(GetCurrentEnvironment(),(struct constructHeader *) x)
00072 #define GetDefgenericWatch(a) EnvGetDefgenericWatch(GetCurrentEnvironment(),a)
00073 #define GetNextDefgeneric(a) EnvGetNextDefgeneric(GetCurrentEnvironment(),a)
00074 #define IsDefgenericDeletable(a) EnvIsDefgenericDeletable(GetCurrentEnvironment(),a)
00075 #define ListDefgenerics(a,b) EnvListDefgenerics(GetCurrentEnvironment(),a,b)
00076 #define SetDefgenericWatch(a,b) EnvSetDefgenericWatch(GetCurrentEnvironment(),a,b)
00077 #define Undefgeneric(a) EnvUndefgeneric(GetCurrentEnvironment(),a)
00078 #define GetDefmethodDescription(a,b,c,d) EnvGetDefmethodDescription(GetCurrentEnvironment(),a,b,c,d)
00079 #define GetDefmethodList(a,b) EnvGetDefmethodList(GetCurrentEnvironment(),a,b)
00080 #define GetDefmethodPPForm(a,b) EnvGetDefmethodPPForm(GetCurrentEnvironment(),a,b)
00081 #define GetDefmethodWatch(a,b) EnvGetDefmethodWatch(GetCurrentEnvironment(),a,b)
00082 #define GetMethodRestrictions(a,b,c) EnvGetMethodRestrictions(GetCurrentEnvironment(),a,b,c)
00083 #define GetNextDefmethod(a,b) EnvGetNextDefmethod(GetCurrentEnvironment(),a,b)
00084 #define IsDefmethodDeletable(a,b) EnvIsDefmethodDeletable(GetCurrentEnvironment(),a,b)
00085 #define ListDefmethods(a,b) EnvListDefmethods(GetCurrentEnvironment(),a,b)
00086 #define SetDefmethodWatch(a,b,c) EnvSetDefmethodWatch(GetCurrentEnvironment(),a,b,c)
00087 #define Undefmethod(a,b) EnvUndefmethod(GetCurrentEnvironment(),a,b)
00088
00089 LOCALE void SetupGenericFunctions(void *);
00090 LOCALE void *EnvFindDefgeneric(void *,char *);
00091 LOCALE DEFGENERIC *LookupDefgenericByMdlOrScope(void *,char *);
00092 LOCALE DEFGENERIC *LookupDefgenericInScope(void *,char *);
00093 LOCALE void *EnvGetNextDefgeneric(void *,void *);
00094 LOCALE long EnvGetNextDefmethod(void *,void *,long);
00095 LOCALE int EnvIsDefgenericDeletable(void *,void *);
00096 LOCALE int EnvIsDefmethodDeletable(void *,void *,long);
00097 LOCALE void UndefgenericCommand(void *);
00098 LOCALE void *GetDefgenericModuleCommand(void *);
00099 LOCALE void UndefmethodCommand(void *);
00100 LOCALE DEFMETHOD *GetDefmethodPointer(void *,long);
00101
00102 LOCALE intBool EnvUndefgeneric(void *,void *);
00103 LOCALE intBool EnvUndefmethod(void *,void *,long);
00104
00105 #if ! OBJECT_SYSTEM
00106 LOCALE void TypeCommand(void *,DATA_OBJECT *);
00107 #endif
00108
00109 #if DEBUGGING_FUNCTIONS
00110 LOCALE void EnvGetDefmethodDescription(void *,char *,int,void *,long);
00111 LOCALE unsigned EnvGetDefgenericWatch(void *,void *);
00112 LOCALE void EnvSetDefgenericWatch(void *,unsigned,void *);
00113 LOCALE unsigned EnvGetDefmethodWatch(void *,void *,long);
00114 LOCALE void EnvSetDefmethodWatch(void *,unsigned,void *,long);
00115 LOCALE void PPDefgenericCommand(void *);
00116 LOCALE void PPDefmethodCommand(void *);
00117 LOCALE void ListDefmethodsCommand(void *);
00118 LOCALE char *EnvGetDefmethodPPForm(void *,void *,long);
00119 LOCALE void ListDefgenericsCommand(void *);
00120 LOCALE void EnvListDefgenerics(void *,char *,struct defmodule *);
00121 LOCALE void EnvListDefmethods(void *,char *,void *);
00122 #endif
00123
00124 LOCALE void GetDefgenericListFunction(void *,DATA_OBJECT *);
00125 globle void EnvGetDefgenericList(void *,DATA_OBJECT *,struct defmodule *);
00126 LOCALE void GetDefmethodListCommand(void *,DATA_OBJECT *);
00127 LOCALE void EnvGetDefmethodList(void *,void *,DATA_OBJECT *);
00128 LOCALE void GetMethodRestrictionsCommand(void *,DATA_OBJECT *);
00129 LOCALE void EnvGetMethodRestrictions(void *,void *,long,DATA_OBJECT *);
00130
00131 #endif
00132
00133
00134
00135
00136