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

Function suffixedexp

source/extern/lua/lparser.c:894–929  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 3

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

Tested by

no test coverage detected