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

Function fxScopeCodeRetrieve

xs/sources/xsCode.c:1771–1791  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1769}
1770
1771void fxScopeCodeRetrieve(txScope* self, txCoder* coder)
1772{
1773 txDeclareNode* node;
1774 txInteger count = 0;
1775 node = self->firstDeclareNode;
1776 while (node) {
1777 if ((node->flags & mxDeclareNodeUseClosureFlag) && node->symbol) {
1778 node->index = coder->scopeLevel++;
1779 count++;
1780 }
1781 node = node->nextDeclareNode;
1782 }
1783 if ((self->node->flags & mxArrowFlag) && ((self->node->flags & mxDefaultFlag) || (self->flags & mxEvalFlag))) {
1784 fxCoderAddIndex(coder, 0, XS_CODE_RETRIEVE_1, count);
1785 fxCoderAddByte(coder, 0, XS_CODE_RETRIEVE_TARGET);
1786 fxCoderAddByte(coder, 0, XS_CODE_RETRIEVE_THIS);
1787 }
1788 else if (count)
1789 fxCoderAddIndex(coder, 0, XS_CODE_RETRIEVE_1, count);
1790 self->closureNodeCount = count;
1791}
1792
1793void fxScopeCodeStore(txScope* self, txCoder* coder)
1794{

Callers 2

fxFunctionNodeCodeFunction · 0.85
fxModuleNodeCodeFunction · 0.85

Calls 2

fxCoderAddIndexFunction · 0.85
fxCoderAddByteFunction · 0.85

Tested by

no test coverage detected