MCPcopy Create free account
hub / github.com/F-Stack/f-stack / suffixedexp

Function suffixedexp

freebsd/contrib/openzfs/module/lua/lparser.c:903–938  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 3

simpleexpFunction · 0.85
assignmentFunction · 0.85
exprstatFunction · 0.85

Calls 10

fieldselFunction · 0.85
luaK_exp2anyregupFunction · 0.85
primaryexpFunction · 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