MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / suffixedexp

Function suffixedexp

lib/lua/src/lparser.c:1103–1137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 3

simpleexpFunction · 0.85
restassignFunction · 0.85
exprstatFunction · 0.85

Calls 10

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

Tested by

no test coverage detected