(node)
| 102805 | return ts.setSourceMapRange(factory.createAssignment(ts.setSourceMapRange(factory.cloneNode(node.name), node.name), ts.visitNode(node.initializer, visitor, ts.isExpression)), node); |
| 102806 | } |
| 102807 | function transformAndEmitIfStatement(node) { |
| 102808 | if (containsYield(node)) { |
| 102809 | // [source] |
| 102810 | // if (x) |
| 102811 | // /*thenStatement*/ |
| 102812 | // else |
| 102813 | // /*elseStatement*/ |
| 102814 | // |
| 102815 | // [intermediate] |
| 102816 | // .brfalse elseLabel, (x) |
| 102817 | // /*thenStatement*/ |
| 102818 | // .br endLabel |
| 102819 | // .mark elseLabel |
| 102820 | // /*elseStatement*/ |
| 102821 | // .mark endLabel |
| 102822 | if (containsYield(node.thenStatement) || containsYield(node.elseStatement)) { |
| 102823 | var endLabel = defineLabel(); |
| 102824 | var elseLabel = node.elseStatement ? defineLabel() : undefined; |
| 102825 | emitBreakWhenFalse(node.elseStatement ? elseLabel : endLabel, ts.visitNode(node.expression, visitor, ts.isExpression), /*location*/ node.expression); |
| 102826 | transformAndEmitEmbeddedStatement(node.thenStatement); |
| 102827 | if (node.elseStatement) { |
| 102828 | emitBreak(endLabel); |
| 102829 | markLabel(elseLabel); |
| 102830 | transformAndEmitEmbeddedStatement(node.elseStatement); |
| 102831 | } |
| 102832 | markLabel(endLabel); |
| 102833 | } |
| 102834 | else { |
| 102835 | emitStatement(ts.visitNode(node, visitor, ts.isStatement)); |
| 102836 | } |
| 102837 | } |
| 102838 | else { |
| 102839 | emitStatement(ts.visitNode(node, visitor, ts.isStatement)); |
| 102840 | } |
| 102841 | } |
| 102842 | function transformAndEmitDoStatement(node) { |
| 102843 | if (containsYield(node)) { |
| 102844 | // [source] |
no test coverage detected