(label *ast.Node, currentTarget *ast.FlowNode, getTarget func(*ActiveLabel) *ast.FlowNode)
| 1961 | } |
| 1962 | |
| 1963 | func (b *Binder) bindBreakOrContinueStatement(label *ast.Node, currentTarget *ast.FlowNode, getTarget func(*ActiveLabel) *ast.FlowNode) { |
| 1964 | b.bind(label) |
| 1965 | if label != nil { |
| 1966 | activeLabel := b.findActiveLabel(label.Text()) |
| 1967 | if activeLabel != nil { |
| 1968 | activeLabel.referenced = true |
| 1969 | b.bindBreakOrContinueFlow(getTarget(activeLabel)) |
| 1970 | } |
| 1971 | } else { |
| 1972 | b.bindBreakOrContinueFlow(currentTarget) |
| 1973 | } |
| 1974 | } |
| 1975 | |
| 1976 | func (b *Binder) findActiveLabel(name string) *ActiveLabel { |
| 1977 | for label := b.activeLabelList; label != nil; label = label.next { |
no test coverage detected