public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { Debug.Assert(node != null); var rewrittenBody = (BoundStatement)Visit(node.Body); 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); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { Debug.Assert(node != null); var rewrittenBody = (BoundStatement)Visit(node.Body); 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)); }
public override BoundStatement InstrumentLabelStatement( BoundLabeledStatement original, BoundStatement rewritten ) { return(Previous.InstrumentLabelStatement(original, rewritten)); }
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); BoundStatement labelStatement = new BoundLabelStatement(node.Syntax, node.Label); if (this.GenerateDebugInfo) { var labeledSyntax = node.Syntax as LabeledStatementSyntax; if (labeledSyntax != null) { var span = TextSpan.FromBounds(labeledSyntax.Identifier.SpanStart, labeledSyntax.ColonToken.Span.End); labelStatement = factory.SequencePointWithSpan(labeledSyntax, span, 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)); }
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)); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { Debug.Assert(node != null); var rewrittenBody = (BoundStatement)Visit(node.Body); BoundStatement labelStatement = new BoundLabelStatement(node.Syntax, node.Label); if (this.GenerateDebugInfo) { var labeledSyntax = node.Syntax as LabeledStatementSyntax; if (labeledSyntax != null) { var span = TextSpan.FromBounds(labeledSyntax.Identifier.SpanStart, labeledSyntax.ColonToken.Span.End); labelStatement = _factory.SequencePointWithSpan(labeledSyntax, span, 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); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { Debug.Assert(node != null); var rewrittenBody = (BoundStatement)Visit(node.Body); return(MakeLabeledStatement(node, rewrittenBody)); }
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) { 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) { ResolveLabel(node, node.Label); return base.VisitLabeledStatement(node); }
protected override void VisitLabel(BoundLabeledStatement node) { _labelsDefined[node.Label] = _currentBlock; base.VisitLabel(node); }
protected override void VisitLabel(BoundLabeledStatement node) { _labelsDefined.Add(node.Label); base.VisitLabel(node); }
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) { AddTarget(node.Label); return(base.VisitLabeledStatement(node)); }
public override BoundStatement InstrumentLabelStatement(BoundLabeledStatement original, BoundStatement rewritten) { return Previous.InstrumentLabelStatement(original, rewritten); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { AddTarget(node.Label); return base.VisitLabeledStatement(node); }
public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) { ResolveLabel(node, 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); }