diff options
Diffstat (limited to 'lobject.h')
-rw-r--r-- | lobject.h | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -192,6 +192,8 @@ typedef union { | |||
192 | /* macro to test for (any kind of) nil */ | 192 | /* macro to test for (any kind of) nil */ |
193 | #define ttisnil(v) checktype((v), LUA_TNIL) | 193 | #define ttisnil(v) checktype((v), LUA_TNIL) |
194 | 194 | ||
195 | #define tagisempty(tag) (novariant(tag) == LUA_TNIL) | ||
196 | |||
195 | 197 | ||
196 | /* macro to test for a standard nil */ | 198 | /* macro to test for a standard nil */ |
197 | #define ttisstrictnil(o) checktag((o), LUA_VNIL) | 199 | #define ttisstrictnil(o) checktag((o), LUA_VNIL) |
@@ -749,12 +751,15 @@ typedef union Node { | |||
749 | #define setnorealasize(t) ((t)->flags |= BITRAS) | 751 | #define setnorealasize(t) ((t)->flags |= BITRAS) |
750 | 752 | ||
751 | 753 | ||
754 | typedef union ArrayCell ArrayCell; | ||
755 | |||
756 | |||
752 | typedef struct Table { | 757 | typedef struct Table { |
753 | CommonHeader; | 758 | CommonHeader; |
754 | lu_byte flags; /* 1<<p means tagmethod(p) is not present */ | 759 | lu_byte flags; /* 1<<p means tagmethod(p) is not present */ |
755 | lu_byte lsizenode; /* log2 of size of 'node' array */ | 760 | lu_byte lsizenode; /* log2 of size of 'node' array */ |
756 | unsigned int alimit; /* "limit" of 'array' array */ | 761 | unsigned int alimit; /* "limit" of 'array' array */ |
757 | TValue *array; /* array part */ | 762 | ArrayCell *array; /* array part */ |
758 | Node *node; | 763 | Node *node; |
759 | struct Table *metatable; | 764 | struct Table *metatable; |
760 | GCObject *gclist; | 765 | GCObject *gclist; |