Index: third_party/lua/src/ltm.h |
diff --git a/third_party/lua/src/ltm.h b/third_party/lua/src/ltm.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..89bdc19a1e1e0e1740d380bd9ef0028f871dc735 |
--- /dev/null |
+++ b/third_party/lua/src/ltm.h |
@@ -0,0 +1,57 @@ |
+/* |
+** $Id: ltm.h,v 2.11 2011/02/28 17:32:10 roberto Exp $ |
+** Tag methods |
+** See Copyright Notice in lua.h |
+*/ |
+ |
+#ifndef ltm_h |
+#define ltm_h |
+ |
+ |
+#include "lobject.h" |
+ |
+ |
+/* |
+* WARNING: if you change the order of this enumeration, |
+* grep "ORDER TM" |
+*/ |
+typedef enum { |
+ TM_INDEX, |
+ TM_NEWINDEX, |
+ TM_GC, |
+ TM_MODE, |
+ TM_LEN, |
+ TM_EQ, /* last tag method with `fast' access */ |
+ TM_ADD, |
+ TM_SUB, |
+ TM_MUL, |
+ TM_DIV, |
+ TM_MOD, |
+ TM_POW, |
+ TM_UNM, |
+ TM_LT, |
+ TM_LE, |
+ TM_CONCAT, |
+ TM_CALL, |
+ TM_N /* number of elements in the enum */ |
+} TMS; |
+ |
+ |
+ |
+#define gfasttm(g,et,e) ((et) == NULL ? NULL : \ |
+ ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e])) |
+ |
+#define fasttm(l,et,e) gfasttm(G(l), et, e) |
+ |
+#define ttypename(x) luaT_typenames_[(x) + 1] |
+#define objtypename(x) ttypename(ttypenv(x)) |
+ |
+LUAI_DDEC const char *const luaT_typenames_[LUA_TOTALTAGS]; |
+ |
+ |
+LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename); |
+LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, |
+ TMS event); |
+LUAI_FUNC void luaT_init (lua_State *L); |
+ |
+#endif |