(node, captureThisArg, isDelete)
| 97513 | return ts.visitEachChild(node, visitor, context); |
| 97514 | } |
| 97515 | function visitNonOptionalExpression(node, captureThisArg, isDelete) { |
| 97516 | switch (node.kind) { |
| 97517 | case 212 /* SyntaxKind.ParenthesizedExpression */: return visitNonOptionalParenthesizedExpression(node, captureThisArg, isDelete); |
| 97518 | case 206 /* SyntaxKind.PropertyAccessExpression */: |
| 97519 | case 207 /* SyntaxKind.ElementAccessExpression */: return visitNonOptionalPropertyOrElementAccessExpression(node, captureThisArg, isDelete); |
| 97520 | case 208 /* SyntaxKind.CallExpression */: return visitNonOptionalCallExpression(node, captureThisArg); |
| 97521 | default: return ts.visitNode(node, visitor, ts.isExpression); |
| 97522 | } |
| 97523 | } |
| 97524 | function visitOptionalExpression(node, captureThisArg, isDelete) { |
| 97525 | var _a = flattenChain(node), expression = _a.expression, chain = _a.chain; |
| 97526 | var left = visitNonOptionalExpression(ts.skipPartiallyEmittedExpressions(expression), ts.isCallChain(chain[0]), /*isDelete*/ false); |
no test coverage detected