1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*
- ** $Id: fallback.h,v 1.22 1997/04/04 22:24:51 roberto Exp roberto $
- */
-
- #ifndef fallback_h
- #define fallback_h
- #include "lua.h"
- #include "opcode.h"
- /*
- * WARNING: if you change the order of this enumeration,
- * grep "ORDER IM"
- */
- typedef enum {
- IM_GETTABLE = 0,
- IM_SETTABLE,
- IM_INDEX,
- IM_GETGLOBAL,
- IM_SETGLOBAL,
- IM_ADD,
- IM_SUB,
- IM_MUL,
- IM_DIV,
- IM_POW,
- IM_UNM,
- IM_LT,
- IM_LE,
- IM_GT,
- IM_GE,
- IM_CONCAT,
- IM_GC,
- IM_FUNCTION
- } IMS;
- #define IM_N 18
- extern struct IM {
- TObject int_method[IM_N];
- } *luaI_IMtable;
- extern char *luaI_eventname[];
- #define luaI_getim(tag,event) (&luaI_IMtable[-(tag)].int_method[event])
- #define luaI_getimbyObj(o,e) (luaI_getim(luaI_efectivetag(o),(e)))
- void luaI_setfallback (void);
- int luaI_ref (TObject *object, int lock);
- TObject *luaI_getref (int ref);
- void luaI_travlock (int (*fn)(TObject *));
- void luaI_invalidaterefs (void);
- char *luaI_travfallbacks (int (*fn)(TObject *));
- void luaI_settag (int tag, TObject *o);
- void luaI_realtag (int tag);
- TObject *luaI_geterrorim (void);
- int luaI_efectivetag (TObject *o);
- void luaI_settagmethod (void);
- void luaI_gettagmethod (void);
- void luaI_seterrormethod (void);
- void luaI_initfallbacks (void);
- #endif
|