MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxYieldExpression

Function fxYieldExpression

xs/sources/xsSyntaxical.c:3247–3268  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3245}
3246
3247void fxYieldExpression(txParser* parser)
3248{
3249 txInteger aLine = parser->states[0].line;
3250 if (!(parser->flags & mxYieldFlag))
3251 fxReportParserError(parser, parser->states[0].line, "invalid yield");
3252 else
3253 parser->flags |= mxYieldingFlag;
3254 fxMatchToken(parser, XS_TOKEN_YIELD);
3255 if ((!parser->states[0].crlf) && (parser->states[0].token == XS_TOKEN_MULTIPLY)) {
3256 fxGetNextToken(parser);
3257 fxAssignmentExpression(parser);
3258 fxPushNodeStruct(parser, 1, XS_TOKEN_DELEGATE, aLine);
3259 return;
3260 }
3261 if ((!parser->states[0].crlf) && (gxTokenFlags[parser->states[0].token] & XS_TOKEN_BEGIN_EXPRESSION)) {
3262 fxAssignmentExpression(parser);
3263 }
3264 else {
3265 fxPushNodeStruct(parser, 0, XS_TOKEN_UNDEFINED, aLine);
3266 }
3267 fxPushNodeStruct(parser, 1, XS_TOKEN_YIELD, aLine);
3268}
3269
3270void fxParameters(txParser* parser)
3271{

Callers 1

fxAssignmentExpressionFunction · 0.85

Calls 5

fxReportParserErrorFunction · 0.85
fxMatchTokenFunction · 0.85
fxGetNextTokenFunction · 0.85
fxAssignmentExpressionFunction · 0.85
fxPushNodeStructFunction · 0.85

Tested by

no test coverage detected