Lines Matching refs:lh
1331 static void check_conflict (LexState *ls, struct LHS_assign *lh, expdesc *v) { in check_conflict() argument
1335 for (; lh; lh = lh->prev) { /* check all previous assignments */ in check_conflict()
1336 if (vkisindexed(lh->v.k)) { /* assignment to table field? */ in check_conflict()
1337 if (lh->v.k == VINDEXUP) { /* is table an upvalue? */ in check_conflict()
1338 if (v->k == VUPVAL && lh->v.u.ind.t == v->u.info) { in check_conflict()
1340 lh->v.k = VINDEXSTR; in check_conflict()
1341 lh->v.u.ind.t = extra; /* assignment will use safe copy */ in check_conflict()
1345 if (v->k == VLOCAL && lh->v.u.ind.t == v->u.var.ridx) { in check_conflict()
1347 lh->v.u.ind.t = extra; /* assignment will use safe copy */ in check_conflict()
1350 if (lh->v.k == VINDEXED && v->k == VLOCAL && in check_conflict()
1351 lh->v.u.ind.idx == v->u.var.ridx) { in check_conflict()
1353 lh->v.u.ind.idx = extra; /* previous assignment will use safe copy */ in check_conflict()
1375 static void restassign (LexState *ls, struct LHS_assign *lh, int nvars) { in restassign() argument
1377 check_condition(ls, vkisvar(lh->v.k), "syntax error"); in restassign()
1378 check_readonly(ls, &lh->v); in restassign()
1381 nv.prev = lh; in restassign()
1384 check_conflict(ls, lh, &nv.v); in restassign()
1397 luaK_storevar(ls->fs, &lh->v, &e); in restassign()
1402 luaK_storevar(ls->fs, &lh->v, &e); in restassign()