public override object VisitContinueStatement(BoundContinueStatement node, object arg) { // While continue statements do no affect definite assignment, subclasses // such as region flow analysis depend on their presence as pending branches. this.pendingBranches.Add(new PendingBranch(node, this.state)); SetUnreachable(); return(null); }
public BoundContinueStatement BindContinue(ContinueStatementSyntax node) { var target = this.context.GetContinueLabel(); if (target == null) { Error(ErrorCode.ERR_NoBreakOrCont, node); return(BoundContinueStatement.AsError(node, null)); } return(new BoundContinueStatement(node, target)); }
public override BoundNode VisitContinueStatement(BoundContinueStatement node) { BoundStatement result = new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors); if (this.Instrument && !node.WasCompilerGenerated) { result = _instrumenter.InstrumentContinueStatement(node, result); } return(result); }
public virtual void VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node);
public virtual BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten) { return(InstrumentStatement(original, rewritten)); }
public override BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten) { return(AddSequencePoint(base.InstrumentContinueStatement(original, rewritten))); }
public override BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten) { return(AddDynamicAnalysis(original, base.InstrumentContinueStatement(original, rewritten))); }
protected virtual void VisitContinueStatement(BoundContinueStatement node) { }
public override BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten) { return(Previous.InstrumentContinueStatement(original, rewritten)); }
public override BoundNode VisitContinueStatement(BoundContinueStatement node) { Debug.Assert(node != null); return(new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors)); }
public override BoundNode VisitContinueStatement(BoundContinueStatement node) { Debug.Assert(node != null); return new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors); }