Exemplo n.º 1
0
        public BoundBreakStatement BindBreak(BreakStatementSyntax node)
        {
            var target = this.context.GetBreakLabel();

            if (target == null)
            {
                Error(ErrorCode.ERR_NoBreakOrCont, node);
                return(BoundBreakStatement.AsError(node, null));
            }
            return(new BoundBreakStatement(node, target));
        }
        public override BoundNode VisitBreakStatement(BoundBreakStatement node)
        {
            BoundStatement result = new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors);

            if (this.Instrument && !node.WasCompilerGenerated)
            {
                result = _instrumenter.InstrumentBreakStatement(node, result);
            }

            return(result);
        }
 protected virtual void VisitBreakStatement(BoundBreakStatement node)
 {
 }
Exemplo n.º 4
0
 public virtual void VisitBreakStatement(BoundBreakStatement node) =>
 this.DefaultVisit(node);
Exemplo n.º 5
0
 public override BoundStatement InstrumentBreakStatement(BoundBreakStatement original, BoundStatement rewritten)
 {
     return(AddSequencePoint(base.InstrumentBreakStatement(original, rewritten)));
 }
Exemplo n.º 6
0
 public virtual BoundStatement InstrumentBreakStatement(BoundBreakStatement original, BoundStatement rewritten)
 {
     return(InstrumentStatement(original, rewritten));
 }
 public override BoundStatement InstrumentBreakStatement(BoundBreakStatement original, BoundStatement rewritten)
 {
     return(AddDynamicAnalysis(original, base.InstrumentBreakStatement(original, rewritten)));
 }
Exemplo n.º 8
0
 public override BoundStatement InstrumentBreakStatement(BoundBreakStatement original, BoundStatement rewritten)
 {
     return(Previous.InstrumentBreakStatement(original, rewritten));
 }
Exemplo n.º 9
0
 public override BoundNode VisitBreakStatement(BoundBreakStatement node)
 {
     Debug.Assert(node != null);
     return(new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors));
 }
Exemplo n.º 10
0
 public override BoundNode VisitBreakStatement(BoundBreakStatement node)
 {
     Debug.Assert(node != null);
     return new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors);
 }
Exemplo n.º 11
0
 public override object VisitBreakStatement(BoundBreakStatement node, object arg)
 {
     this.pendingBranches.Add(new PendingBranch(node, this.state));
     SetUnreachable();
     return(null);
 }