Lines Matching refs:cc
3955 static void recfield(LexState*ls,struct ConsControl*cc){
3961 luaY_checklimit(fs,cc->nh,(INT_MAX-2),"items in a constructor");
3966 cc->nh++;
3970 luaK_codeABC(fs,OP_SETTABLE,cc->t->u.s.info,rkkey,luaK_exp2RK(fs,&val));
3973 static void closelistfield(FuncState*fs,struct ConsControl*cc){
3974 if(cc->v.k==VVOID)return;
3975 luaK_exp2nextreg(fs,&cc->v);
3976 cc->v.k=VVOID;
3977 if(cc->tostore==50){
3978 luaK_setlist(fs,cc->t->u.s.info,cc->na,cc->tostore);
3979 cc->tostore=0;
3982 static void lastlistfield(FuncState*fs,struct ConsControl*cc){
3983 if(cc->tostore==0)return;
3984 if(hasmultret(cc->v.k)){
3985 luaK_setmultret(fs,&cc->v);
3986 luaK_setlist(fs,cc->t->u.s.info,cc->na,(-1));
3987 cc->na--;
3990 if(cc->v.k!=VVOID)
3991 luaK_exp2nextreg(fs,&cc->v);
3992 luaK_setlist(fs,cc->t->u.s.info,cc->na,cc->tostore);
3995 static void listfield(LexState*ls,struct ConsControl*cc){
3996 expr(ls,&cc->v);
3997 luaY_checklimit(ls->fs,cc->na,(INT_MAX-2),"items in a constructor");
3998 cc->na++;
3999 cc->tostore++;
4005 struct ConsControl cc;
4006 cc.na=cc.nh=cc.tostore=0;
4007 cc.t=t;
4009 init_exp(&cc.v,VVOID,0);
4014 closelistfield(fs,&cc);
4019 listfield(ls,&cc);
4021 recfield(ls,&cc);
4025 recfield(ls,&cc);
4029 listfield(ls,&cc);
4035 lastlistfield(fs,&cc);
4036 SETARG_B(fs->f->code[pc],luaO_int2fb(cc.na));
4037 SETARG_C(fs->f->code[pc],luaO_int2fb(cc.nh));