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

Method bindLabeledStatement

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

Source from the content-addressed store, hash-verified

2151}
2152
2153func (b *Binder) bindLabeledStatement(node *ast.Node) {
2154 stmt := node.AsLabeledStatement()
2155 postStatementLabel := b.createBranchLabel()
2156 b.activeLabelList = &ActiveLabel{
2157 next: b.activeLabelList,
2158 name: stmt.Label.Text(),
2159 breakTarget: postStatementLabel,
2160 continueTarget: nil,
2161 referenced: false,
2162 }
2163 b.bind(stmt.Label)
2164 b.bind(stmt.Statement)
2165 if !b.activeLabelList.referenced {
2166 // Mark the label as unused; the checker will decide whether to report it
2167 stmt.Label.Flags |= ast.NodeFlagsUnreachable
2168 }
2169 b.activeLabelList = b.activeLabelList.next
2170 b.addAntecedent(postStatementLabel, b.currentFlow)
2171 b.currentFlow = b.finishFlowLabel(postStatementLabel)
2172}
2173
2174func (b *Binder) bindPrefixUnaryExpressionFlow(node *ast.Node) {
2175 expr := node.AsPrefixUnaryExpression()

Callers 1

bindChildrenMethod · 0.95

Calls 6

createBranchLabelMethod · 0.95
bindMethod · 0.95
addAntecedentMethod · 0.95
finishFlowLabelMethod · 0.95
AsLabeledStatementMethod · 0.80
TextMethod · 0.65

Tested by

no test coverage detected