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

Function fxScopeCodeUsing

xs/sources/xsCode.c:1911–1931  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1909}
1910
1911void fxScopeCodeUsing(txScope* self, txCoder* coder, txUsingContext* context)
1912{
1913 if (self->token == XS_TOKEN_MODULE) {
1914 txDeclareNode* node = self->firstDeclareNode;
1915 while (node) {
1916 if (node->flags & mxDeclareNodeDisposableFlag) {
1917 node->index = coder->scopeLevel++;
1918 fxCoderAddIndex(coder, 0, XS_CODE_NEW_TEMPORARY, node->index);
1919 }
1920 node = node->nextDeclareNode;
1921 }
1922 }
1923
1924 context->exception = fxCoderUseTemporaryVariable(coder);
1925 context->selector = fxCoderUseTemporaryVariable(coder);
1926 coder->firstBreakTarget = fxCoderAliasTargets(coder, coder->firstBreakTarget);
1927 coder->firstContinueTarget = fxCoderAliasTargets(coder, coder->firstContinueTarget);
1928 coder->returnTarget = fxCoderAliasTargets(coder, coder->returnTarget);
1929 context->catchTarget = fxCoderCreateTarget(coder);
1930 fxCoderAddBranch(coder, 0, XS_CODE_CATCH_1, context->catchTarget);
1931}
1932
1933void fxScopeCodeUsingStatement(txScope* self, txCoder* coder, txNode* statement)
1934{

Callers 4

fxForNodeCodeFunction · 0.85
fxModuleNodeCodeFunction · 0.85
fxSwitchNodeCodeFunction · 0.85

Calls 5

fxCoderAddIndexFunction · 0.85
fxCoderAliasTargetsFunction · 0.85
fxCoderCreateTargetFunction · 0.85
fxCoderAddBranchFunction · 0.85

Tested by

no test coverage detected