public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { VisitLabel(node); CheckReachable(node); VisitStatement(node.Body); return(null); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { Debug.Assert(node != null); var rewrittenBody = (BoundStatement)Visit(node.Body); return(MakeLabeledStatement(node, rewrittenBody)); }
public override BoundStatement InstrumentLabelStatement(BoundLabeledStatement original, BoundStatement rewritten) { var labeledSyntax = (LabeledStatementSyntax)original.Syntax; var span = TextSpan.FromBounds(labeledSyntax.Identifier.SpanStart, labeledSyntax.ColonToken.Span.End); return(new BoundSequencePointWithSpan(labeledSyntax, base.InstrumentLabelStatement(original, rewritten), span)); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { Debug.Assert(node != null); var rewrittenBody = (BoundStatement)Visit(node.Body); var labelStatement = new BoundLabelStatement(node.Syntax, node.Label); if (rewrittenBody == null) { // Body may be null if the body has no associated IL // (declaration with no initializer for instance.) return labelStatement; } return BoundStatementList.Synthesized(node.Syntax, labelStatement, rewrittenBody); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { Debug.Assert(node != null); var rewrittenBody = (BoundStatement)Visit(node.Body); var labelStatement = new BoundLabelStatement(node.Syntax, node.Label); if (rewrittenBody == null) { // Body may be null if the body has no associated IL // (declaration with no initializer for instance.) return(labelStatement); } return(BoundStatementList.Synthesized(node.Syntax, labelStatement, rewrittenBody)); }
private BoundStatement MakeLabeledStatement(BoundLabeledStatement node, BoundStatement rewrittenBody) { BoundStatement labelStatement = new BoundLabelStatement(node.Syntax, node.Label); if (this.Instrument) { var labeledSyntax = node.Syntax as LabeledStatementSyntax; if (labeledSyntax != null) { labelStatement = _instrumenter.InstrumentLabelStatement(node, labelStatement); } } if (rewrittenBody == null) { // Body may be null if the body has no associated IL // (declaration with no initializer for instance.) return(labelStatement); } return(BoundStatementList.Synthesized(node.Syntax, labelStatement, rewrittenBody)); }
protected override void VisitLabel(BoundLabeledStatement node) { _labelsDefined[node.Label] = _currentBlock; base.VisitLabel(node); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { ResolveLabel(node, node.Label); return(base.VisitLabeledStatement(node)); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { AddTarget(node.Label); return(base.VisitLabeledStatement(node)); }
public virtual BoundStatement InstrumentLabelStatement(BoundLabeledStatement original, BoundStatement rewritten) { Debug.Assert(original.Syntax.Kind() == SyntaxKind.LabeledStatement); return(InstrumentStatement(original, rewritten)); }
public override BoundStatement InstrumentLabelStatement(BoundLabeledStatement original, BoundStatement rewritten) { return(Previous.InstrumentLabelStatement(original, rewritten)); }