MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / suffixedexp

Function suffixedexp

extlibs/lua/src/lparser.c:1083–1118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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