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

Function fxHostNodeCode

xs/sources/xsCode.c:3507–3540  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3505}
3506
3507void fxHostNodeCode(void* it, void* param)
3508{
3509 txHostNode* self = it;
3510 txCoder* coder = param;
3511 txParser* parser = coder->parser;
3512 if (self->hostIndex < 0) {
3513 if (self->symbol) {
3514 if (self->flags & mxGetterFlag) {
3515 txString buffer = coder->parser->buffer;
3516 c_strcpy(buffer, "get ");
3517 c_strcat(buffer, self->symbol->string);
3518 self->symbol = fxNewParserSymbol(coder->parser, buffer);
3519 }
3520 else if (self->flags & mxSetterFlag) {
3521 txString buffer = coder->parser->buffer;
3522 c_strcpy(buffer, "set ");
3523 c_strcat(buffer, self->symbol->string);
3524 self->symbol = fxNewParserSymbol(coder->parser, buffer);
3525 }
3526 }
3527 if (self->params)
3528 self->paramsCount = fxCoderCountParameters(coder, self->params);
3529 else
3530 self->paramsCount = -1;
3531 if (parser->firstHostNode)
3532 parser->lastHostNode->nextHostNode = self;
3533 else
3534 parser->firstHostNode = self;
3535 parser->lastHostNode = self;
3536 self->hostIndex = parser->hostNodeIndex;
3537 parser->hostNodeIndex++;
3538 }
3539 fxCoderAddIndex(param, 1, XS_CODE_HOST, self->hostIndex);
3540}
3541
3542void fxIfNodeCode(void* it, void* param)
3543{

Callers

nothing calls this directly

Calls 3

fxNewParserSymbolFunction · 0.85
fxCoderCountParametersFunction · 0.85
fxCoderAddIndexFunction · 0.85

Tested by

no test coverage detected