(node *ast.Node)
| 1922 | } |
| 1923 | |
| 1924 | func (b *Binder) bindIfStatement(node *ast.Node) { |
| 1925 | stmt := node.AsIfStatement() |
| 1926 | thenLabel := b.createBranchLabel() |
| 1927 | elseLabel := b.createBranchLabel() |
| 1928 | postIfLabel := b.createBranchLabel() |
| 1929 | b.bindCondition(stmt.Expression, thenLabel, elseLabel) |
| 1930 | b.currentFlow = b.finishFlowLabel(thenLabel) |
| 1931 | b.bind(stmt.ThenStatement) |
| 1932 | b.addAntecedent(postIfLabel, b.currentFlow) |
| 1933 | b.currentFlow = b.finishFlowLabel(elseLabel) |
| 1934 | b.bind(stmt.ElseStatement) |
| 1935 | b.addAntecedent(postIfLabel, b.currentFlow) |
| 1936 | b.currentFlow = b.finishFlowLabel(postIfLabel) |
| 1937 | } |
| 1938 | |
| 1939 | func (b *Binder) bindReturnStatement(node *ast.Node) { |
| 1940 | b.bind(node.Expression()) |
no test coverage detected