MCPcopy Create free account
hub / github.com/microsoft/typescript-go / bindForStatement

Method bindForStatement

internal/binder/binder.go:1885–1902  ·  view source on GitHub ↗
(node *ast.Node)

Source from the content-addressed store, hash-verified

1883}
1884
1885func (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
1904func (b *Binder) bindForInOrForOfStatement(node *ast.Node) {
1905 stmt := node.AsForInOrOfStatement()

Callers 1

bindChildrenMethod · 0.95

Calls 9

setContinueTargetMethod · 0.95
createLoopLabelMethod · 0.95
createBranchLabelMethod · 0.95
bindMethod · 0.95
addAntecedentMethod · 0.95
bindConditionMethod · 0.95
finishFlowLabelMethod · 0.95
AsForStatementMethod · 0.80

Tested by

no test coverage detected