lua5.4
lapi.h
浏览该文件的文档.
1 /*
2 ** $Id: lapi.h $
3 ** Auxiliary functions from Lua API
4 ** See Copyright Notice in lua.h
5 */
6 
7 #ifndef lapi_h
8 #define lapi_h
9 
10 
11 #include "llimits.h"
12 #include "lstate.h"
13 
14 
15 /* Increments 'L->top', checking for stack overflows */
16 #define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \
17  "stack overflow");}
18 
19 
20 /*
21 ** If a call returns too many multiple returns, the callee may not have
22 ** stack space to accommodate all results. In this case, this macro
23 ** increases its stack space ('L->ci->top').
24 */
25 #define adjustresults(L,nres) \
26  { if ((nres) <= LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; }
27 
28 
29 /* Ensure the stack has at least 'n' elements */
30 #define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \
31  "not enough elements in the stack")
32 
33 
34 /*
35 ** To reduce the overhead of returning from C functions, the presence of
36 ** to-be-closed variables in these functions is coded in the CallInfo's
37 ** field 'nresults', in a way that functions with no to-be-closed variables
38 ** with zero, one, or "all" wanted results have no overhead. Functions
39 ** with other number of wanted results, as well as functions with
40 ** variables to be closed, have an extra check.
41 */
42 
43 #define hastocloseCfunc(n) ((n) < LUA_MULTRET)
44 
45 #define codeNresults(n) (-(n) - 3)
46 
47 #endif
lua_tonumberx
LUA_API lua_Number lua_tonumberx(lua_State *L, int idx, int *pisnum)
Definition: lapi.c:355
setobjs2s
#define setobjs2s(L, o1, o2)
Definition: lobject.h:127
luaV_equalobj
int luaV_equalobj(lua_State *L, const TValue *t1, const TValue *t2)
Definition: lvm.c:565
EXTRA_STACK
#define EXTRA_STACK
Definition: lstate.h:137
s2v
#define s2v(o)
Definition: lobject.h:150
LUA_GCSTOP
#define LUA_GCSTOP
Definition: lua.h:319
iswhite
#define iswhite(x)
Definition: lgc.h:87
Proto::upvalues
Upvaldesc * upvalues
Definition: lobject.h:547
lua_rotate
LUA_API void lua_rotate(lua_State *L, int idx, int n)
Definition: lapi.c:217
l_isfalse
#define l_isfalse(o)
Definition: lobject.h:225
LUA_OPLE
#define LUA_OPLE
Definition: lua.h:224
LUA_OPUNM
#define LUA_OPUNM
Definition: lua.h:217
lua_assert
#define lua_assert(c)
Definition: lauxlib.h:169
setthvalue
#define setthvalue(L, obj, x)
Definition: lobject.h:246
lua_Unsigned
LUA_UNSIGNED lua_Unsigned
Definition: lua.h:97
lua_geti
LUA_API int lua_geti(lua_State *L, int idx, lua_Integer n)
Definition: lapi.c:671
cast
#define cast(t, exp)
Definition: llimits.h:123
isdecGCmodegen
#define isdecGCmodegen(g)
Definition: lgc.h:149
lua_setglobal
LUA_API void lua_setglobal(lua_State *L, const char *name)
Definition: lapi.c:823
luaV_fastgeti
#define luaV_fastgeti(L, t, k, slot)
Definition: lvm.h:94
LUA_GCINC
#define LUA_GCINC
Definition: lua.h:329
ttisLclosure
#define ttisLclosure(o)
Definition: lobject.h:574
lstate.h
LUA_OK
#define LUA_OK
Definition: lua.h:49
setobj2n
#define setobj2n
Definition: lobject.h:133
ttistable
#define ttistable(o)
Definition: lobject.h:657
eqshrstr
#define eqshrstr(a, b)
Definition: lstring.h:41
uvalue
#define uvalue(o)
Definition: lobject.h:415
luaS_newlstr
TString * luaS_newlstr(lua_State *L, const char *str, size_t l)
Definition: lstring.c:221
lua_pushstring
LUA_API const char * lua_pushstring(lua_State *L, const char *s)
Definition: lapi.c:514
lua_checkstack
LUA_API int lua_checkstack(lua_State *L, int n)
Definition: lapi.c:98
api_incr_top
#define api_incr_top(L)
Definition: lapi.h:16
luaC_checkfinalizer
void luaC_checkfinalizer(lua_State *L, GCObject *o, Table *mt)
Definition: lgc.c:1011
getproto
#define getproto(o)
Definition: lobject.h:644
luaV_finishfastset
#define luaV_finishfastset(L, t, slot, v)
Definition: lvm.h:106
luaC_objbarrier
#define luaC_objbarrier(L, p, o)
Definition: lgc.h:173
lua_getfield
LUA_API int lua_getfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:665
pvalue
#define pvalue(o)
Definition: lobject.h:414
ttisfunction
#define ttisfunction(o)
Definition: lobject.h:572
ttislightuserdata
#define ttislightuserdata(o)
Definition: lobject.h:411
LUA_TTABLE
#define LUA_TTABLE
Definition: lua.h:70
LUA_GCISRUNNING
#define LUA_GCISRUNNING
Definition: lua.h:327
lua_pushthread
LUA_API int lua_pushthread(lua_State *L)
Definition: lapi.c:600
luaS_new
TString * luaS_new(lua_State *L, const char *str)
Definition: lstring.c:241
LUA_GCGEN
#define LUA_GCGEN
Definition: lua.h:328
lua_State::status
lu_byte status
Definition: lstate.h:275
setuvalue
#define setuvalue(L, obj, x)
Definition: lobject.h:422
lua_getupvalue
LUA_API const char * lua_getupvalue(lua_State *L, int funcindex, int n)
Definition: lapi.c:1359
lua_pushinteger
LUA_API void lua_pushinteger(lua_State *L, lua_Integer n)
Definition: lapi.c:489
luaC_barrierback
#define luaC_barrierback(L, p, v)
Definition: lgc.h:169
ltable.h
luaC_checkGC
#define luaC_checkGC(L)
Definition: lgc.h:162
lua_Writer
int(* lua_Writer)(lua_State *L, const void *p, size_t sz, void *ud)
Definition: lua.h:119
aux_rawset
static void aux_rawset(lua_State *L, int idx, TValue *key, int n)
Definition: lapi.c:872
LUA_GCSTEP
#define LUA_GCSTEP
Definition: lua.h:324
lua_rawgetp
LUA_API int lua_rawgetp(lua_State *L, int idx, const void *p)
Definition: lapi.c:728
lua_unlock
#define lua_unlock(L)
Definition: llimits.h:254
isempty
#define isempty(v)
Definition: lobject.h:195
lua_toclose
LUA_API void lua_toclose(lua_State *L, int idx)
Definition: lapi.c:1244
lua_upvaluejoin
LUA_API void lua_upvaluejoin(lua_State *L, int fidx1, int n1, int fidx2, int n2)
Definition: lapi.c:1428
lua_iscfunction
LUA_API int lua_iscfunction(lua_State *L, int idx)
Definition: lapi.c:273
obj2gco
#define obj2gco(v)
Definition: lstate.h:347
gcvalue
#define gcvalue(o)
Definition: lobject.h:283
thvalue
#define thvalue(o)
Definition: lobject.h:244
fvalue
#define fvalue(o)
Definition: lobject.h:582
global_State::genmajormul
lu_byte genmajormul
Definition: lstate.h:234
lua_pushlstring
LUA_API const char * lua_pushlstring(lua_State *L, const char *s, size_t len)
Definition: lapi.c:502
lua_gettable
LUA_API int lua_gettable(lua_State *L, int idx)
Definition: lapi.c:650
lua_concat
LUA_API void lua_concat(lua_State *L, int n)
Definition: lapi.c:1260
luaC_step
void luaC_step(lua_State *L)
Definition: lgc.c:1666
ttisinteger
#define ttisinteger(o)
Definition: lobject.h:306
setfvalue
#define setfvalue(obj, x)
Definition: lobject.h:594
lua_rawlen
LUA_API lua_Unsigned lua_rawlen(lua_State *L, int idx)
Definition: lapi.c:402
writer
static int writer(lua_State *L, const void *b, size_t size, void *ud)
Definition: lstrlib.c:221
cast_uint
#define cast_uint(i)
Definition: llimits.h:129
lua_Number
LUA_NUMBER lua_Number
Definition: lua.h:90
llimits.h
luaM_error
#define luaM_error(L)
Definition: lmem.h:17
lua_isstring
LUA_API int lua_isstring(lua_State *L, int idx)
Definition: lapi.c:292
Upvaldesc::name
TString * name
Definition: lobject.h:494
lua_atpanic
LUA_API lua_CFunction lua_atpanic(lua_State *L, lua_CFunction panicf)
Definition: lapi.c:136
lua_type
LUA_API int lua_type(lua_State *L, int idx)
Definition: lapi.c:260
lua_tolstring
LUA_API const char * lua_tolstring(lua_State *L, int idx, size_t *len)
Definition: lapi.c:381
invalidateTMcache
#define invalidateTMcache(t)
Definition: ltable.h:23
ltm.h
luaH_getint
const TValue * luaH_getint(Table *t, lua_Integer key)
Definition: ltable.c:698
lua_typename
LUA_API const char * lua_typename(lua_State *L, int t)
Definition: lapi.c:266
lua_State::errfunc
ptrdiff_t errfunc
Definition: lstate.h:289
lua_setmetatable
LUA_API int lua_setmetatable(lua_State *L, int objindex)
Definition: lapi.c:909
cast_voidp
#define cast_voidp(i)
Definition: llimits.h:126
StackValue
Definition: lobject.h:141
global_State::gcstate
lu_byte gcstate
Definition: lstate.h:231
lua_tothread
LUA_API lua_State * lua_tothread(lua_State *L, int idx)
Definition: lapi.c:438
luaD_callnoyield
void luaD_callnoyield(lua_State *L, StkId func, int nResults)
Definition: ldo.c:565
lua_pushnumber
LUA_API void lua_pushnumber(lua_State *L, lua_Number n)
Definition: lapi.c:481
clCvalue
#define clCvalue(o)
Definition: lobject.h:583
lua_dump
LUA_API int lua_dump(lua_State *L, lua_Writer writer, void *data, int strip)
Definition: lapi.c:1085
CallS::nresults
int nresults
Definition: lapi.c:1007
lua_isinteger
LUA_API int lua_isinteger(lua_State *L, int idx)
Definition: lapi.c:279
lua_isnumber
LUA_API int lua_isnumber(lua_State *L, int idx)
Definition: lapi.c:285
UNUSED
#define UNUSED(x)
Definition: llimits.h:118
CallS
Definition: lapi.c:1005
LUA_VTABLE
#define LUA_VTABLE
Definition: lobject.h:655
luaV_rawequalobj
#define luaV_rawequalobj(t1, t2)
Definition: lvm.h:73
lua_version
LUA_API lua_Number lua_version(lua_State *L)
Definition: lapi.c:146
luaH_resize
void luaH_resize(lua_State *L, Table *t, unsigned int newasize, unsigned int nhsize)
Definition: ltable.c:523
setnilvalue
#define setnilvalue(obj)
Definition: lobject.h:178
GCSpause
#define GCSpause
Definition: lgc.h:39
lua_Alloc
void *(* lua_Alloc)(void *ud, void *ptr, size_t osize, size_t nsize)
Definition: lua.h:125
lua.h
lua_arith
LUA_API void lua_arith(lua_State *L, int op)
Definition: lapi.c:311
UpVal
Definition: lobject.h:606
lua_topointer
LUA_API const void * lua_topointer(lua_State *L, int idx)
Definition: lapi.c:451
MAXUPVAL
#define MAXUPVAL
Definition: lfunc.h:29
vslen
#define vslen(o)
Definition: lobject.h:391
LUA_OPEQ
#define LUA_OPEQ
Definition: lua.h:222
luaH_set
void luaH_set(lua_State *L, Table *t, const TValue *key, TValue *value)
Definition: ltable.c:792
ttisnil
#define ttisnil(v)
Definition: lobject.h:171
lua_len
LUA_API void lua_len(lua_State *L, int idx)
Definition: lapi.c:1274
lua_rawset
LUA_API void lua_rawset(lua_State *L, int idx)
Definition: lapi.c:885
luaE_setdebt
void luaE_setdebt(global_State *g, l_mem debt)
Definition: lstate.c:89
lua_setwarnf
void lua_setwarnf(lua_State *L, lua_WarnFunction f, void *ud)
Definition: lapi.c:1302
LUA_GCRESTART
#define LUA_GCRESTART
Definition: lua.h:320
index2stack
static StkId index2stack(lua_State *L, int idx)
Definition: lapi.c:83
setbfvalue
#define setbfvalue(obj)
Definition: lobject.h:228
l_mem
long l_mem
Definition: llimits.h:31
lua_rawget
LUA_API int lua_rawget(lua_State *L, int idx)
Definition: lapi.c:708
luaV_finishget
void luaV_finishget(lua_State *L, const TValue *t, TValue *key, StkId val, const TValue *slot)
Definition: lvm.c:287
lua_State::stack_last
StkId stack_last
Definition: lstate.h:281
adjustresults
#define adjustresults(L, nres)
Definition: lapi.h:25
lua_setfield
LUA_API void lua_setfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:847
lua_pushcclosure
LUA_API void lua_pushcclosure(lua_State *L, lua_CFunction fn, int n)
Definition: lapi.c:555
global_State::gcrunning
lu_byte gcrunning
Definition: lstate.h:235
lua_warning
void lua_warning(lua_State *L, const char *msg, int tocont)
Definition: lapi.c:1310
CClosure
Definition: lobject.h:624
ttypename
#define ttypename(x)
Definition: ltm.h:69
lvm.h
G
#define G(L)
Definition: lstate.h:298
luaH_get
const TValue * luaH_get(Table *t, const TValue *key)
Definition: ltable.c:756
LUA_NUMTYPES
#define LUA_NUMTYPES
Definition: lua.h:75
LUA_VLNGSTR
#define LUA_VLNGSTR
Definition: lobject.h:339
luaV_lessequal
int luaV_lessequal(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:554
LUA_VSHRSTR
#define LUA_VSHRSTR
Definition: lobject.h:338
TString
Definition: lobject.h:364
LUA_VERSION_NUM
#define LUA_VERSION_NUM
Definition: lua.h:23
lua_KContext
LUA_KCONTEXT lua_KContext
Definition: lua.h:100
luaV_finishset
void luaV_finishset(lua_State *L, const TValue *t, TValue *key, TValue *val, const TValue *slot)
Definition: lvm.c:330
CallS::func
StkId func
Definition: lapi.c:1006
lprefix.h
setpvalue
#define setpvalue(obj, x)
Definition: lobject.h:419
luaF_newtbcupval
void luaF_newtbcupval(lua_State *L, StkId level)
Definition: lfunc.c:194
lua_rawgeti
LUA_API int lua_rawgeti(lua_State *L, int idx, lua_Integer n)
Definition: lapi.c:720
setsvalue2s
#define setsvalue2s(L, o, s)
Definition: lobject.h:355
CallInfo::nresults
short nresults
Definition: lstate.h:184
ldebug.h
LUA_TUSERDATA
#define LUA_TUSERDATA
Definition: lua.h:72
CallInfo::func
StkId func
Definition: lstate.h:161
lua_lock
#define lua_lock(L)
Definition: llimits.h:253
lu_byte
unsigned char lu_byte
Definition: llimits.h:36
getstr
#define getstr(ts)
Definition: lobject.h:381
getGtable
#define getGtable(L)
Definition: lapi.c:638
CClosure::f
lua_CFunction f
Definition: lobject.h:626
luaD_call
void luaD_call(lua_State *L, StkId func, int nResults)
Definition: ldo.c:557
setobj
#define setobj(L, obj1, obj2)
Definition: lobject.h:116
lua_callk
LUA_API void lua_callk(lua_State *L, int nargs, int nresults, lua_KContext ctx, lua_KFunction k)
Definition: lapi.c:979
LUA_GCCOUNT
#define LUA_GCCOUNT
Definition: lua.h:322
luaE_warning
void luaE_warning(lua_State *L, const char *msg, int tocont)
Definition: lstate.c:409
lua_pushfstring
LUA_API const char * lua_pushfstring(lua_State *L, const char *fmt,...)
Definition: lapi.c:542
CallInfo::c
struct CallInfo::@11::@14 c
lua_setiuservalue
LUA_API int lua_setiuservalue(lua_State *L, int idx, int n)
Definition: lapi.c:949
CClosure::upvalue
TValue upvalue[1]
Definition: lobject.h:627
ttisthread
#define ttisthread(o)
Definition: lobject.h:242
reverse
static void reverse(lua_State *L, StkId from, StkId to)
Definition: lapi.c:203
lua_rawsetp
LUA_API void lua_rawsetp(lua_State *L, int idx, const void *p)
Definition: lapi.c:890
Table
Definition: lobject.h:714
LUA_API
#define LUA_API
Definition: luaconf.h:277
finishrawget
static int finishrawget(lua_State *L, const TValue *val)
Definition: lapi.c:690
Udata
Definition: lobject.h:439
lua_isuserdata
LUA_API int lua_isuserdata(lua_State *L, int idx)
Definition: lapi.c:298
codeNresults
#define codeNresults(n)
Definition: lapi.h:45
clLvalue
#define clLvalue(o)
Definition: lobject.h:581
LUA_OPLT
#define LUA_OPLT
Definition: lua.h:223
LUA_REGISTRYINDEX
#define LUA_REGISTRYINDEX
Definition: lua.h:44
auxgetstr
static int auxgetstr(lua_State *L, const TValue *t, const char *k)
Definition: lapi.c:615
lua_touserdata
LUA_API void * lua_touserdata(lua_State *L, int idx)
Definition: lapi.c:432
lua_State::openupval
UpVal * openupval
Definition: lstate.h:283
luaH_getstr
const TValue * luaH_getstr(Table *t, TString *key)
Definition: ltable.c:742
luaV_objlen
void luaV_objlen(lua_State *L, StkId ra, const TValue *rb)
Definition: lvm.c:678
global_State::GCdebt
l_mem GCdebt
Definition: lstate.h:223
CallInfo
Definition: lstate.h:160
lobject.h
luaH_new
Table * luaH_new(lua_State *L)
Definition: ltable.c:596
global_State::genminormul
lu_byte genminormul
Definition: lstate.h:233
global_State
Definition: lstate.h:219
lua_gettop
LUA_API int lua_gettop(lua_State *L)
Definition: lapi.c:168
lua_State
Definition: lstate.h:273
LUA_VLIGHTUSERDATA
#define LUA_VLIGHTUSERDATA
Definition: lobject.h:407
luaF_newCclosure
CClosure * luaF_newCclosure(lua_State *L, int nupvals)
Definition: lfunc.c:27
lua_getallocf
LUA_API lua_Alloc lua_getallocf(lua_State *L, void **ud)
Definition: lapi.c:1284
lua_Integer
LUA_INTEGER lua_Integer
Definition: lua.h:94
CallInfo::u2
union CallInfo::@12 u2
isvalid
#define isvalid(L, o)
Definition: lapi.c:46
lua_settop
LUA_API void lua_settop(lua_State *L, int idx)
Definition: lapi.c:173
LClosure::p
struct Proto * p
Definition: lobject.h:633
luaS_newudata
Udata * luaS_newudata(lua_State *L, size_t s, int nuvalue)
Definition: lstring.c:258
lundump.h
lua_pushboolean
LUA_API void lua_pushboolean(lua_State *L, int b)
Definition: lapi.c:581
auxsetstr
static void auxsetstr(lua_State *L, const TValue *t, const char *k)
Definition: lapi.c:805
tonumber
#define tonumber(o, n)
Definition: lvm.h:51
lua_pushvalue
LUA_API void lua_pushvalue(lua_State *L, int idx)
Definition: lapi.c:246
TValue
Definition: lobject.h:65
gettotalbytes
#define gettotalbytes(g)
Definition: lstate.h:351
UpVal::v
TValue * v
Definition: lobject.h:609
LUA_TNONE
#define LUA_TNONE
Definition: lua.h:63
ttypetag
#define ttypetag(o)
Definition: lobject.h:82
luaZ_init
void luaZ_init(lua_State *L, ZIO *z, lua_Reader reader, void *data)
Definition: lzio.c:38
lua_getmetatable
LUA_API int lua_getmetatable(lua_State *L, int objindex)
Definition: lapi.c:751
LClosure
Definition: lobject.h:631
lua_status
LUA_API int lua_status(lua_State *L)
Definition: lapi.c:1100
cast_sizet
#define cast_sizet(i)
Definition: llimits.h:134
LUA_TLIGHTUSERDATA
#define LUA_TLIGHTUSERDATA
Definition: lua.h:67
luaH_getn
lua_Unsigned luaH_getn(Table *t)
Definition: ltable.c:891
checkresults
#define checkresults(L, na, nr)
Definition: lapi.c:974
tsvalue
#define tsvalue(o)
Definition: lobject.h:347
lua_rawequal
LUA_API int lua_rawequal(lua_State *L, int index1, int index2)
Definition: lapi.c:304
Proto::sizeupvalues
int sizeupvalues
Definition: lobject.h:535
ttislcf
#define ttislcf(o)
Definition: lobject.h:575
lua_pcallk
LUA_API int lua_pcallk(lua_State *L, int nargs, int nresults, int errfunc, lua_KContext ctx, lua_KFunction k)
Definition: lapi.c:1018
uplevel
#define uplevel(up)
Definition: lfunc.h:35
yieldable
#define yieldable(L)
Definition: lstate.h:99
luaH_setint
void luaH_setint(lua_State *L, Table *t, lua_Integer key, TValue *value)
Definition: ltable.c:798
luaH_next
int luaH_next(lua_State *L, Table *t, StkId key)
Definition: ltable.c:319
LUA_COPYRIGHT
#define LUA_COPYRIGHT
Definition: lua.h:28
luaO_pushvfstring
const char * luaO_pushvfstring(lua_State *L, const char *fmt, va_list argp)
Definition: lobject.c:470
luaO_str2num
size_t luaO_str2num(const char *s, TValue *o)
Definition: lobject.c:308
LUA_GCCOLLECT
#define LUA_GCCOLLECT
Definition: lua.h:321
luaV_concat
void luaV_concat(lua_State *L, int total)
Definition: lvm.c:633
lua_State::ci
CallInfo * ci
Definition: lstate.h:280
LUAI_MAXSTACK
#define LUAI_MAXSTACK
Definition: ltests.h:130
luaD_protectedparser
int luaD_protectedparser(lua_State *L, ZIO *z, const char *name, const char *mode)
Definition: ldo.c:838
lua_State::stack
StkId stack
Definition: lstate.h:282
lua_xmove
LUA_API void lua_xmove(lua_State *from, lua_State *to, int n)
Definition: lapi.c:120
setivalue
#define setivalue(obj, x)
Definition: lobject.h:322
lua_settable
LUA_API void lua_settable(lua_State *L, int idx)
Definition: lapi.c:831
getudatamem
#define getudatamem(u)
Definition: lobject.h:473
lua_upvalueid
LUA_API void * lua_upvalueid(lua_State *L, int fidx, int n)
Definition: lapi.c:1406
luaO_tostring
void luaO_tostring(lua_State *L, TValue *obj)
Definition: lobject.c:374
sethvalue2s
#define sethvalue2s(L, o, h)
Definition: lobject.h:666
lua_rawseti
LUA_API void lua_rawseti(lua_State *L, int idx, lua_Integer n)
Definition: lapi.c:897
global_State::gcstepmul
lu_byte gcstepmul
Definition: lstate.h:238
Proto
Definition: lobject.h:530
f_call
static void f_call(lua_State *L, void *ud)
Definition: lapi.c:1011
lua_getglobal
LUA_API int lua_getglobal(lua_State *L, const char *name)
Definition: lapi.c:642
setgcparam
#define setgcparam(p, v)
Definition: lgc.h:136
lua_next
LUA_API int lua_next(lua_State *L, int idx)
Definition: lapi.c:1227
global_State::gcpause
lu_byte gcpause
Definition: lstate.h:237
luaD_pcall
int luaD_pcall(lua_State *L, Pfunc func, void *u, ptrdiff_t old_top, ptrdiff_t ef)
Definition: ldo.c:777
lua_seti
LUA_API void lua_seti(lua_State *L, int idx, lua_Integer n)
Definition: lapi.c:853
gettable
static Table * gettable(lua_State *L, int idx)
Definition: lapi.c:701
cvt2str
#define cvt2str(o)
Definition: lvm.h:17
setobj2s
#define setobj2s(L, o1, o2)
Definition: lobject.h:129
luaU_dump
int luaU_dump(lua_State *L, const Proto *f, lua_Writer w, void *data, int strip)
Definition: ldump.c:213
lua_pushvfstring
LUA_API const char * lua_pushvfstring(lua_State *L, const char *fmt, va_list argp)
Definition: lapi.c:531
lstring.h
lua_tocfunction
LUA_API lua_CFunction lua_tocfunction(lua_State *L, int idx)
Definition: lapi.c:414
luaO_arith
void luaO_arith(lua_State *L, int op, const TValue *p1, const TValue *p2, StkId res)
Definition: lobject.c:126
touserdata
static void * touserdata(const TValue *o)
Definition: lapi.c:423
lua_newuserdatauv
LUA_API void * lua_newuserdatauv(lua_State *L, size_t size, int nuvalue)
Definition: lapi.c:1318
global_State::gcstepsize
lu_byte gcstepsize
Definition: lstate.h:239
ttisCclosure
#define ttisCclosure(o)
Definition: lobject.h:576
lua_tointegerx
LUA_API lua_Integer lua_tointegerx(lua_State *L, int idx, int *pisnum)
Definition: lapi.c:365
lapi.h
tointeger
#define tointeger(o, i)
Definition: lvm.h:62
LUA_GCCOUNTB
#define LUA_GCCOUNTB
Definition: lua.h:323
lua_stringtonumber
LUA_API size_t lua_stringtonumber(lua_State *L, const char *s)
Definition: lapi.c:347
lua_CFunction
int(* lua_CFunction)(lua_State *L)
Definition: lua.h:106
hastocloseCfunc
#define hastocloseCfunc(n)
Definition: lapi.h:43
lua_pushnil
LUA_API void lua_pushnil(lua_State *L)
Definition: lapi.c:473
lua_KFunction
int(* lua_KFunction)(lua_State *L, int status, lua_KContext ctx)
Definition: lua.h:111
LUA_GCSETPAUSE
#define LUA_GCSETPAUSE
Definition: lua.h:325
lua_getiuservalue
LUA_API int lua_getiuservalue(lua_State *L, int idx, int n)
Definition: lapi.c:778
ttype
#define ttype(o)
Definition: lobject.h:85
lmem.h
index2value
static TValue * index2value(lua_State *L, int idx)
Definition: lapi.c:56
lua_State::top
StkId top
Definition: lstate.h:278
LUA_VLCF
#define LUA_VLCF
Definition: lobject.h:569
LUA_VLCL
#define LUA_VLCL
Definition: lobject.h:568
setfltvalue
#define setfltvalue(obj, x)
Definition: lobject.h:316
lua_toboolean
LUA_API int lua_toboolean(lua_State *L, int idx)
Definition: lapi.c:375
setclCvalue
#define setclCvalue(L, obj, x)
Definition: lobject.h:597
lgc.h
GCObject
Definition: lobject.h:270
luaV_fastget
#define luaV_fastget(L, t, k, slot, f)
Definition: lvm.h:83
api_check
#define api_check(l, e, msg)
Definition: llimits.h:113
lua_Reader
const char *(* lua_Reader)(lua_State *L, void *ud, size_t *sz)
Definition: lua.h:117
Zio
Definition: lzio.h:55
isLua
#define isLua(ci)
Definition: lstate.h:206
lua_setallocf
LUA_API void lua_setallocf(lua_State *L, lua_Alloc f, void *ud)
Definition: lapi.c:1294
luaC_fullgc
void luaC_fullgc(lua_State *L, int isemergency)
Definition: lgc.c:1703
KGC_INC
#define KGC_INC
Definition: lstate.h:146
KGC_GEN
#define KGC_GEN
Definition: lstate.h:147
LUA_AUTHORS
#define LUA_AUTHORS
Definition: lua.h:29
lua_WarnFunction
void(* lua_WarnFunction)(void *ud, const char *msg, int tocont)
Definition: lua.h:131
setbtvalue
#define setbtvalue(obj)
Definition: lobject.h:229
luaV_lessthan
int luaV_lessthan(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:532
lua_load
LUA_API int lua_load(lua_State *L, lua_Reader reader, void *data, const char *chunkname, const char *mode)
Definition: lapi.c:1062
lua_State::allowhook
lu_byte allowhook
Definition: lstate.h:276
LUA_GCSETSTEPMUL
#define LUA_GCSETSTEPMUL
Definition: lua.h:326
luaD_growstack
int luaD_growstack(lua_State *L, int n, int raiseerror)
Definition: ldo.c:207
CallInfo::top
StkId top
Definition: lstate.h:162
CallInfo::callstatus
unsigned short callstatus
Definition: lstate.h:185
lua_compare
LUA_API int lua_compare(lua_State *L, int index1, int index2, int op)
Definition: lapi.c:327
getgcparam
#define getgcparam(p)
Definition: lgc.h:135
luaF_close
int luaF_close(lua_State *L, StkId level, int status)
Definition: lfunc.c:223
LUA_VCCL
#define LUA_VCCL
Definition: lobject.h:570
hvalue
#define hvalue(o)
Definition: lobject.h:659
lua_absindex
LUA_API int lua_absindex(lua_State *L, int idx)
Definition: lapi.c:161
svalue
#define svalue(o)
Definition: lobject.h:385
lua_createtable
LUA_API void lua_createtable(lua_State *L, int narray, int nrec)
Definition: lapi.c:738
LUA_VUSERDATA
#define LUA_VUSERDATA
Definition: lobject.h:409
luaC_changemode
void luaC_changemode(lua_State *L, int newmode)
Definition: lgc.c:1323
iscollectable
#define iscollectable(o)
Definition: lobject.h:278
lua_gc
LUA_API int lua_gc(lua_State *L, int what,...)
Definition: lapi.c:1108
LUA_OPBNOT
#define LUA_OPBNOT
Definition: lua.h:218
api_checknelems
#define api_checknelems(L, n)
Definition: lapi.h:30
lua_pushlightuserdata
LUA_API void lua_pushlightuserdata(lua_State *L, void *p)
Definition: lapi.c:592
getupvalref
static UpVal ** getupvalref(lua_State *L, int fidx, int n, LClosure **pf)
Definition: lapi.c:1392
luaG_errormsg
l_noret luaG_errormsg(lua_State *L)
Definition: ldebug.c:754
luaC_barrier
#define luaC_barrier(L, p, v)
Definition: lgc.h:165
CallInfo::u
union CallInfo::@11 u
lua_copy
LUA_API void lua_copy(lua_State *L, int fromidx, int toidx)
Definition: lapi.c:231
LClosure::upvals
UpVal * upvals[1]
Definition: lobject.h:634
ttisfulluserdata
#define ttisfulluserdata(o)
Definition: lobject.h:412
CIST_YPCALL
#define CIST_YPCALL
Definition: lstate.h:196
CallInfo::funcidx
int funcidx
Definition: lstate.h:177
lfunc.h
aux_upvalue
static const char * aux_upvalue(TValue *fi, int n, TValue **val, GCObject **owner)
Definition: lapi.c:1332
ispseudo
#define ispseudo(i)
Definition: lapi.c:50
ldo.h
lua_setupvalue
LUA_API const char * lua_setupvalue(lua_State *L, int funcindex, int n)
Definition: lapi.c:1373
savestack
#define savestack(L, p)
Definition: ldo.h:35
ttisshrstring
#define ttisshrstring(o)
Definition: lobject.h:342
lua_error
LUA_API int lua_error(lua_State *L)
Definition: lapi.c:1212
setoah
#define setoah(st, v)
Definition: lstate.h:212
cast_int
#define cast_int(i)
Definition: llimits.h:128
isLfunction
#define isLfunction(o)
Definition: lobject.h:578
lua_ident
const char lua_ident[]
Definition: lapi.c:35
ttisstring
#define ttisstring(o)
Definition: lobject.h:341
isupvalue
#define isupvalue(i)
Definition: lapi.c:53