コード例 #1
0
 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);
 }
コード例 #2
0
ファイル: Loops.cs プロジェクト: sperling/cskarp
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public virtual void VisitContinueStatement(BoundContinueStatement node) =>
 this.DefaultVisit(node);
コード例 #5
0
ファイル: Instrumenter.cs プロジェクト: stark-lang/stark
 public virtual BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten)
 {
     return(InstrumentStatement(original, rewritten));
 }
コード例 #6
0
 public override BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten)
 {
     return(AddSequencePoint(base.InstrumentContinueStatement(original, rewritten)));
 }
コード例 #7
0
 public override BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten)
 {
     return(AddDynamicAnalysis(original, base.InstrumentContinueStatement(original, rewritten)));
 }
コード例 #8
0
 protected virtual void VisitContinueStatement(BoundContinueStatement node)
 {
 }
コード例 #9
0
 public override BoundStatement InstrumentContinueStatement(BoundContinueStatement original, BoundStatement rewritten)
 {
     return(Previous.InstrumentContinueStatement(original, rewritten));
 }
コード例 #10
0
 public override BoundNode VisitContinueStatement(BoundContinueStatement node)
 {
     Debug.Assert(node != null);
     return(new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors));
 }
コード例 #11
0
ファイル: ControlFlowRewriter.cs プロジェクト: EkardNT/Roslyn
 public override BoundNode VisitContinueStatement(BoundContinueStatement node)
 {
     Debug.Assert(node != null);
     return new BoundGotoStatement(node.Syntax, node.Label, node.HasErrors);
 }