(node *ast.Node, trueTarget *ast.FlowLabel, falseTarget *ast.FlowLabel)
| 2388 | } |
| 2389 | |
| 2390 | func (b *Binder) bindOptionalExpression(node *ast.Node, trueTarget *ast.FlowLabel, falseTarget *ast.FlowLabel) { |
| 2391 | b.doWithConditionalBranches((*Binder).bind, node, trueTarget, falseTarget) |
| 2392 | if !ast.IsOptionalChain(node) || ast.IsOutermostOptionalChain(node) { |
| 2393 | b.addAntecedent(trueTarget, b.createFlowCondition(ast.FlowFlagsTrueCondition, b.currentFlow, node)) |
| 2394 | b.addAntecedent(falseTarget, b.createFlowCondition(ast.FlowFlagsFalseCondition, b.currentFlow, node)) |
| 2395 | } |
| 2396 | } |
| 2397 | |
| 2398 | func (b *Binder) bindOptionalChainRest(node *ast.Node) bool { |
| 2399 | switch node.Kind { |
no test coverage detected