#define LAST_TAG LUA_TTHREAD
#define NUM_TAGS
#define LUA_TPROTO
#define LUA_TUPVAL
#define LUA_TDEADKEY
#define CommonHeader
#define TValuefields
#define ttisnil( o )
#define ttisnumber( o )
#define ttisstring( o )
#define ttistable( o )
#define ttisfunction( o )
#define ttisboolean( o )
#define ttisuserdata( o )
#define ttisthread( o )
#define ttislightuserdata( o )
#define ttype( o )
#define gcvalue( o )
#define pvalue( o )
#define nvalue( o )
#define rawtsvalue( o )
#define tsvalue( o )
#define rawuvalue( o )
#define uvalue( o )
#define clvalue( o )
#define hvalue( o )
#define bvalue( o )
#define thvalue( o )
#define l_isfalse( o )
#define checkconsistency( obj )
#define checkliveness( g, obj )
#define setnilvalue( obj )
#define setnvalue( obj, x )
#define setpvalue( obj, x )
#define setbvalue( obj, x )
#define setsvalue( L, obj, x )
#define setuvalue( L, obj, x )
#define setthvalue( L, obj, x )
#define setclvalue( L, obj, x )
#define sethvalue( L, obj, x )
#define setptvalue( L, obj, x )
#define setobj( L, obj1, obj2 )
#define setobjs2s setobj
#define setobj2s setobj
#define setsvalue2s setsvalue
#define sethvalue2s sethvalue
#define setptvalue2s setptvalue
#define setobjt2t setobj
#define setobj2t setobj
#define setobj2n setobj
#define setsvalue2n setsvalue
#define setttype( obj, tt )
#define iscollectable( o )
#define getstr( ts )
#define svalue( o )
#define VARARG_HASARG 1
#define VARARG_ISVARARG 2
#define VARARG_NEEDSARG 4
#define ClosureHeader
#define iscfunction( o )
#define isLfunction( o )
#define lmod( s, size )
#define twoto( x )
#define sizenode( t )
#define luaO_nilobject luaO_nilobject_
#define ceillog2( x )
struct GCheader | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
} |
union | |
{ | |
GCObject* gc; | |
void* p; | |
lua_Number n; | |
int b; | |
} |
struct lua_TValue | |
{ | |
Value value; | |
int tt; | |
} |
See: | Typedef TValue |
union TString | |
{ | |
L_Umaxalign dummy; | |
struct | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
lu_byte reserved; | |
unsigned int hash; | |
size_t len; | |
} | |
tsv; | |
} |
union Udata | |
{ | |
L_Umaxalign dummy; | |
struct | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
struct Table* metatable; | |
struct Table* env; | |
size_t len; | |
} | |
uv; | |
} |
struct Proto | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
TValue* k; | |
Instruction* code; | |
struct Proto** p; | |
int* lineinfo; | |
struct LocVar* locvars; | |
TString** upvalues; | |
TString* source; | |
int sizeupvalues; | |
int sizek; | |
int sizecode; | |
int sizelineinfo; | |
int sizep; | |
int sizelocvars; | |
int linedefined; | |
int lastlinedefined; | |
GCObject* gclist; | |
lu_byte nups; | |
lu_byte numparams; | |
lu_byte is_vararg; | |
lu_byte maxstacksize; | |
} |
struct LocVar | |
{ | |
TString* varname; | |
int startpc; | |
int endpc; | |
} |
struct UpVal | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
TValue* v; | |
union | |
{ | |
TValue value; | |
struct | |
{ | |
struct UpVal* prev; | |
struct UpVal* next; | |
} | |
l; | |
} | |
u; | |
} |
struct CClosure | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
lu_byte isC; | |
lu_byte nupvalues; | |
GCObject* gclist; | |
struct Table* env; | |
lua_CFunction f; | |
TValue upvalue[1]; | |
} |
struct LClosure | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
lu_byte isC; | |
lu_byte nupvalues; | |
GCObject* gclist; | |
struct Table* env; | |
struct Proto* p; | |
UpVal* upvals[1]; | |
} |
union Closure | |
{ | |
CClosure c; | |
LClosure l; | |
} |
union TKey | |
{ | |
struct | |
{ | |
Value value; | |
int tt; | |
struct Node* next; | |
} | |
nk; | |
TValue tvk; | |
} |
struct Node | |
{ | |
TValue i_val; | |
TKey i_key; | |
} |
struct Table | |
{ | |
GCObject* next; | |
lu_byte tt; | |
lu_byte marked; | |
lu_byte flags; | |
lu_byte lsizenode; | |
struct Table* metatable; | |
TValue* array; | |
Node* node; | |
Node* lastfree; | |
GCObject* gclist; | |
int sizearray; | |
} |
Defined in: | nut/lua/lobject.c |