commit 1bb3fb73cc65d35df9cd737f4445ad9361f85775
parent 7e0134865866951e522ad95034daf0e044fbedd2
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 9 Oct 1995 10:14:10 -0300
fallback table now has number of parameters and results of each
fallback. This information is used by opcode.c, when calling a fallback.
Diffstat:
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/fallback.c b/fallback.c
@@ -3,7 +3,7 @@
** TecCGraf - PUC-Rio
*/
-char *rcs_fallback="$Id: fallback.c,v 1.13 1995/10/02 17:03:33 roberto Exp roberto $";
+char *rcs_fallback="$Id: fallback.c,v 1.14 1995/10/04 14:20:26 roberto Exp roberto $";
#include <stdio.h>
#include <string.h>
@@ -28,15 +28,16 @@ static void funcFB (void);
** Warning: This list must be in the same order as the #define's
*/
struct FB luaI_fallBacks[] = {
-{"error", {LUA_T_CFUNCTION, {errorFB}}},
-{"index", {LUA_T_CFUNCTION, {indexFB}}},
-{"gettable", {LUA_T_CFUNCTION, {gettableFB}}},
-{"arith", {LUA_T_CFUNCTION, {arithFB}}},
-{"order", {LUA_T_CFUNCTION, {orderFB}}},
-{"concat", {LUA_T_CFUNCTION, {concatFB}}},
-{"settable", {LUA_T_CFUNCTION, {gettableFB}}},
-{"gc", {LUA_T_CFUNCTION, {GDFB}}},
-{"function", {LUA_T_CFUNCTION, {funcFB}}}
+{"error", {LUA_T_CFUNCTION, {errorFB}}, 1, 0},
+{"index", {LUA_T_CFUNCTION, {indexFB}}, 2, 1},
+{"gettable", {LUA_T_CFUNCTION, {gettableFB}}, 2, 1},
+{"arith", {LUA_T_CFUNCTION, {arithFB}}, 3, 1},
+{"order", {LUA_T_CFUNCTION, {orderFB}}, 3, 1},
+{"concat", {LUA_T_CFUNCTION, {concatFB}}, 2, 1},
+{"settable", {LUA_T_CFUNCTION, {gettableFB}}, 3, 0},
+{"gc", {LUA_T_CFUNCTION, {GDFB}}, 1, 0},
+{"function", {LUA_T_CFUNCTION, {funcFB}}, -1, -1}
+ /* no fixed number of params or results */
};
#define N_FB (sizeof(luaI_fallBacks)/sizeof(struct FB))
diff --git a/fallback.h b/fallback.h
@@ -1,5 +1,5 @@
/*
-** $Id: fallback.h,v 1.7 1994/11/21 18:22:58 roberto Stab roberto $
+** $Id: fallback.h,v 1.8 1995/10/04 14:20:26 roberto Exp roberto $
*/
#ifndef fallback_h
@@ -10,6 +10,8 @@
extern struct FB {
char *kind;
Object function;
+ int nParams;
+ int nResults;
} luaI_fallBacks[];
#define FB_ERROR 0