MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / suffixedexp

Function suffixedexp

3rd/lua-5.4.3/src/lparser.c:1090–1125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1088
1089
1090static void suffixedexp (LexState *ls, expdesc *v) {
1091 /* suffixedexp ->
1092 primaryexp { '.' NAME | '[' exp ']' | ':' NAME funcargs | funcargs } */
1093 FuncState *fs = ls->fs;
1094 int line = ls->linenumber;
1095 primaryexp(ls, v);
1096 for (;;) {
1097 switch (ls->t.token) {
1098 case '.': { /* fieldsel */
1099 fieldsel(ls, v);
1100 break;
1101 }
1102 case '[': { /* '[' exp ']' */
1103 expdesc key;
1104 luaK_exp2anyregup(fs, v);
1105 yindex(ls, &key);
1106 luaK_indexed(fs, v, &key);
1107 break;
1108 }
1109 case ':': { /* ':' NAME funcargs */
1110 expdesc key;
1111 luaX_next(ls);
1112 codename(ls, &key);
1113 luaK_self(fs, v, &key);
1114 funcargs(ls, v, line);
1115 break;
1116 }
1117 case '(': case TK_STRING: case '{': { /* funcargs */
1118 luaK_exp2nextreg(fs, v);
1119 funcargs(ls, v, line);
1120 break;
1121 }
1122 default: return;
1123 }
1124 }
1125}
1126
1127
1128static 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