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

Function suffixedexp

third-party/lua-5.3.5/src/lparser.c:893–928  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

891
892
893static void suffixedexp (LexState *ls, expdesc *v) {
894 /* suffixedexp ->
895 primaryexp { '.' NAME | '[' exp ']' | ':' NAME funcargs | funcargs } */
896 FuncState *fs = ls->fs;
897 int line = ls->linenumber;
898 primaryexp(ls, v);
899 for (;;) {
900 switch (ls->t.token) {
901 case '.': { /* fieldsel */
902 fieldsel(ls, v);
903 break;
904 }
905 case '[': { /* '[' exp1 ']' */
906 expdesc key;
907 luaK_exp2anyregup(fs, v);
908 yindex(ls, &key);
909 luaK_indexed(fs, v, &key);
910 break;
911 }
912 case ':': { /* ':' NAME funcargs */
913 expdesc key;
914 luaX_next(ls);
915 checkname(ls, &key);
916 luaK_self(fs, v, &key);
917 funcargs(ls, v, line);
918 break;
919 }
920 case '(': case TK_STRING: case '{': { /* funcargs */
921 luaK_exp2nextreg(fs, v);
922 funcargs(ls, v, line);
923 break;
924 }
925 default: return;
926 }
927 }
928}
929
930
931static void simpleexp (LexState *ls, expdesc *v) {

Callers 3

simpleexpFunction · 0.70
assignmentFunction · 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
checknameFunction · 0.70
luaK_selfFunction · 0.70
funcargsFunction · 0.70
luaK_exp2nextregFunction · 0.70

Tested by

no test coverage detected