(node *ast.Node)
| 1883 | } |
| 1884 | |
| 1885 | func (b *Binder) bindForStatement(node *ast.Node) { |
| 1886 | stmt := node.AsForStatement() |
| 1887 | preLoopLabel := b.setContinueTarget(node, b.createLoopLabel()) |
| 1888 | preBodyLabel := b.createBranchLabel() |
| 1889 | preIncrementorLabel := b.createBranchLabel() |
| 1890 | postLoopLabel := b.createBranchLabel() |
| 1891 | b.bind(stmt.Initializer) |
| 1892 | b.addAntecedent(preLoopLabel, b.currentFlow) |
| 1893 | b.currentFlow = preLoopLabel |
| 1894 | b.bindCondition(stmt.Condition, preBodyLabel, postLoopLabel) |
| 1895 | b.currentFlow = b.finishFlowLabel(preBodyLabel) |
| 1896 | b.bindIterativeStatement(stmt.Statement, postLoopLabel, preIncrementorLabel) |
| 1897 | b.addAntecedent(preIncrementorLabel, b.currentFlow) |
| 1898 | b.currentFlow = b.finishFlowLabel(preIncrementorLabel) |
| 1899 | b.bind(stmt.Incrementor) |
| 1900 | b.addAntecedent(preLoopLabel, b.currentFlow) |
| 1901 | b.currentFlow = b.finishFlowLabel(postLoopLabel) |
| 1902 | } |
| 1903 | |
| 1904 | func (b *Binder) bindForInOrForOfStatement(node *ast.Node) { |
| 1905 | stmt := node.AsForInOrOfStatement() |
no test coverage detected