| 1909 | } |
| 1910 | |
| 1911 | void 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 | |
| 1933 | void fxScopeCodeUsingStatement(txScope* self, txCoder* coder, txNode* statement) |
| 1934 | { |
no test coverage detected