MCPcopy Create free account
hub / github.com/EmmyLua/EmmyLuaDebugger / suffixedexp

Function suffixedexp

third-party/lua-5.4.6/src/lparser.c:1102–1136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1100
1101
1102static void suffixedexp (LexState *ls, expdesc *v) {
1103 /* suffixedexp ->
1104 primaryexp { '.' NAME | '[' exp ']' | ':' NAME funcargs | funcargs } */
1105 FuncState *fs = ls->fs;
1106 primaryexp(ls, v);
1107 for (;;) {
1108 switch (ls->t.token) {
1109 case '.': { /* fieldsel */
1110 fieldsel(ls, v);
1111 break;
1112 }
1113 case '[': { /* '[' exp ']' */
1114 expdesc key;
1115 luaK_exp2anyregup(fs, v);
1116 yindex(ls, &key);
1117 luaK_indexed(fs, v, &key);
1118 break;
1119 }
1120 case ':': { /* ':' NAME funcargs */
1121 expdesc key;
1122 luaX_next(ls);
1123 codename(ls, &key);
1124 luaK_self(fs, v, &key);
1125 funcargs(ls, v);
1126 break;
1127 }
1128 case '(': case TK_STRING: case '{': { /* funcargs */
1129 luaK_exp2nextreg(fs, v);
1130 funcargs(ls, v);
1131 break;
1132 }
1133 default: return;
1134 }
1135 }
1136}
1137
1138
1139static void simpleexp (LexState *ls, expdesc *v) {

Callers 3

simpleexpFunction · 0.70
restassignFunction · 0.70
exprstatFunction · 0.70

Calls 10

primaryexpFunction · 0.70
fieldselFunction · 0.70
luaK_exp2anyregupFunction · 0.70
yindexFunction · 0.70
luaK_indexedFunction · 0.70
luaX_nextFunction · 0.70
codenameFunction · 0.70
luaK_selfFunction · 0.70
funcargsFunction · 0.70
luaK_exp2nextregFunction · 0.70

Tested by

no test coverage detected