(node)
| 97135 | return updated; |
| 97136 | } |
| 97137 | function transformAsyncGeneratorFunctionBody(node) { |
| 97138 | resumeLexicalEnvironment(); |
| 97139 | var statements = []; |
| 97140 | var statementOffset = factory.copyPrologue(node.body.statements, statements, /*ensureUseStrict*/ false, visitor); |
| 97141 | appendObjectRestAssignmentsIfNeeded(statements, node); |
| 97142 | var savedCapturedSuperProperties = capturedSuperProperties; |
| 97143 | var savedHasSuperElementAccess = hasSuperElementAccess; |
| 97144 | capturedSuperProperties = new ts.Set(); |
| 97145 | hasSuperElementAccess = false; |
| 97146 | var returnStatement = factory.createReturnStatement(emitHelpers().createAsyncGeneratorHelper(factory.createFunctionExpression( |
| 97147 | /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), node.name && factory.getGeneratedNameForNode(node.name), |
| 97148 | /*typeParameters*/ undefined, |
| 97149 | /*parameters*/ [], |
| 97150 | /*type*/ undefined, factory.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset))), !!(hierarchyFacts & 1 /* HierarchyFacts.HasLexicalThis */))); |
| 97151 | // Minor optimization, emit `_super` helper to capture `super` access in an arrow. |
| 97152 | // This step isn't needed if we eventually transform this to ES5. |
| 97153 | var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */ | 2048 /* NodeCheckFlags.AsyncMethodWithSuper */); |
| 97154 | if (emitSuperHelpers) { |
| 97155 | enableSubstitutionForAsyncMethodsWithSuper(); |
| 97156 | var variableStatement = ts.createSuperAccessVariableStatement(factory, resolver, node, capturedSuperProperties); |
| 97157 | substitutedSuperAccessors[ts.getNodeId(variableStatement)] = true; |
| 97158 | ts.insertStatementsAfterStandardPrologue(statements, [variableStatement]); |
| 97159 | } |
| 97160 | statements.push(returnStatement); |
| 97161 | ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); |
| 97162 | var block = factory.updateBlock(node.body, statements); |
| 97163 | if (emitSuperHelpers && hasSuperElementAccess) { |
| 97164 | if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { |
| 97165 | ts.addEmitHelper(block, ts.advancedAsyncSuperHelper); |
| 97166 | } |
| 97167 | else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.AsyncMethodWithSuper */) { |
| 97168 | ts.addEmitHelper(block, ts.asyncSuperHelper); |
| 97169 | } |
| 97170 | } |
| 97171 | capturedSuperProperties = savedCapturedSuperProperties; |
| 97172 | hasSuperElementAccess = savedHasSuperElementAccess; |
| 97173 | return block; |
| 97174 | } |
| 97175 | function transformFunctionBody(node) { |
| 97176 | var _a; |
| 97177 | resumeLexicalEnvironment(); |
no test coverage detected
searching dependent graphs…