Lines Matching refs:key

100 static Node *mainposition (const Table *t, const TValue *key) {  in mainposition()  argument
101 switch (ttype(key)) { in mainposition()
103 return hashnum(t, nvalue(key)); in mainposition()
105 return hashstr(t, rawtsvalue(key)); in mainposition()
107 return hashboolean(t, bvalue(key)); in mainposition()
109 return hashpointer(t, pvalue(key)); in mainposition()
111 return hashpointer(t, gcvalue(key)); in mainposition()
120 static int arrayindex (const TValue *key) { in arrayindex() argument
121 if (ttisnumber(key)) { in arrayindex()
122 lua_Number n = nvalue(key); in arrayindex()
137 static int findindex (lua_State *L, Table *t, StkId key) { in findindex() argument
139 if (ttisnil(key)) return -1; /* first iteration */ in findindex()
140 i = arrayindex(key); in findindex()
144 Node *n = mainposition(t, key); in findindex()
147 if (luaO_rawequalObj(key2tval(n), key) || in findindex()
148 (ttype(gkey(n)) == LUA_TDEADKEY && iscollectable(key) && in findindex()
149 gcvalue(gkey(n)) == gcvalue(key))) { in findindex()
162 int luaH_next (lua_State *L, Table *t, StkId key) { in luaH_next() argument
163 int i = findindex(L, t, key); /* find original element */ in luaH_next()
166 setnvalue(key, cast_num(i+1)); in luaH_next()
167 setobj2s(L, key+1, &t->array[i]); in luaH_next()
173 setobj2s(L, key, key2tval(gnode(t, i))); in luaH_next()
174 setobj2s(L, key+1, gval(gnode(t, i))); in luaH_next()
211 static int countint (const TValue *key, int *nums) { in countint() argument
212 int k = arrayindex(key); in countint()
399 static TValue *newkey (lua_State *L, Table *t, const TValue *key) { in newkey() argument
400 Node *mp = mainposition(t, key); in newkey()
405 rehash(L, t, key); /* grow table */ in newkey()
406 return luaH_set(L, t, key); /* re-insert key into grown table */ in newkey()
425 gkey(mp)->value = key->value; gkey(mp)->tt = key->tt; in newkey()
426 luaC_barriert(L, t, key); in newkey()
435 const TValue *luaH_getnum (Table *t, int key) { in luaH_getnum() argument
437 if (cast(unsigned int, key-1) < cast(unsigned int, t->sizearray)) in luaH_getnum()
438 return &t->array[key-1]; in luaH_getnum()
440 lua_Number nk = cast_num(key); in luaH_getnum()
455 const TValue *luaH_getstr (Table *t, TString *key) { in luaH_getstr() argument
456 Node *n = hashstr(t, key); in luaH_getstr()
458 if (ttisstring(gkey(n)) && rawtsvalue(gkey(n)) == key) in luaH_getstr()
469 const TValue *luaH_get (Table *t, const TValue *key) { in luaH_get() argument
470 switch (ttype(key)) { in luaH_get()
472 case LUA_TSTRING: return luaH_getstr(t, rawtsvalue(key)); in luaH_get()
475 lua_Number n = nvalue(key); in luaH_get()
477 if (luai_numeq(cast_num(k), nvalue(key))) /* index is int? */ in luaH_get()
482 Node *n = mainposition(t, key); in luaH_get()
484 if (luaO_rawequalObj(key2tval(n), key)) in luaH_get()
494 TValue *luaH_set (lua_State *L, Table *t, const TValue *key) { in luaH_set() argument
495 const TValue *p = luaH_get(t, key); in luaH_set()
500 if (ttisnil(key)) luaG_runerror(L, "table index is nil"); in luaH_set()
501 else if (ttisnumber(key) && luai_numisnan(nvalue(key))) in luaH_set()
503 return newkey(L, t, key); in luaH_set()
508 TValue *luaH_setnum (lua_State *L, Table *t, int key) { in luaH_setnum() argument
509 const TValue *p = luaH_getnum(t, key); in luaH_setnum()
514 setnvalue(&k, cast_num(key)); in luaH_setnum()
520 TValue *luaH_setstr (lua_State *L, Table *t, TString *key) { in luaH_setstr() argument
521 const TValue *p = luaH_getstr(t, key); in luaH_setstr()
526 setsvalue(L, &k, key); in luaH_setstr()
582 Node *luaH_mainposition (const Table *t, const TValue *key) { in luaH_mainposition() argument
583 return mainposition(t, key); in luaH_mainposition()