| 3768 | |
| 3769 | |
| 3770 | static void suffixedexp (LexState *ls, expdesc *v, int flags = 0, tdn_t *nprop = nullptr, TypeHint *prop = nullptr) { |
| 3771 | /* suffixedexp -> |
| 3772 | primaryexp { '.' NAME | '[' exp ']' | ':' NAME funcargs | funcargs } */ |
| 3773 | int line = ls->getLineNumber(); |
| 3774 | if (l_unlikely(ispostfixplusplus(ls))) { |
| 3775 | postfixplusplus(ls, v, line, flags); |
| 3776 | return; |
| 3777 | } |
| 3778 | primaryexp(ls, v, flags); |
| 3779 | if (prop) { |
| 3780 | if (v->k == VINDEXUP) { |
| 3781 | TValue *key = &ls->fs->f->k[v->u.ind.idx]; |
| 3782 | prop->merge(get_global_prop(ls, tsvalue(key))); |
| 3783 | } |
| 3784 | } |
| 3785 | expsuffix(ls, v, line, flags, nprop, prop); |
| 3786 | } |
| 3787 | |
| 3788 | static void expsuffix (LexState *ls, expdesc *v, int line, int flags, tdn_t *nprop, TypeHint *prop) { |
| 3789 | FuncState *fs = ls->fs; |
no test coverage detected