Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
        public void VisitContinueStatement(ContinueStatementSyntax node)
        {
            if (node == null)
                throw new ArgumentNullException("node");

            node.Validate();

            WriteLeadingTrivia(node);

            _writer.WriteIndent();
            _writer.WriteKeyword(PrinterKeyword.Continue);
            _writer.EndStatement();

            WriteTrailingTrivia(node);
        }
Exemplo n.º 3
0
 public override void VisitContinueStatement(ContinueStatementSyntax node) =>
 LastStatement = new ApexContinueStatementSyntax();
Exemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="node"></param>
 /// <remarks>
 /// Statements will cause an AST walker to be created, thus we don't need to go further deeper in the
 /// tree by visiting the node.
 /// </remarks>
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     this.VisitStatement(node);
 }
 public static void Go(OutputWriter writer, ContinueStatementSyntax statement)
 {
     writer.WriteLine("continue;");
 }
Exemplo n.º 6
0
 public virtual void VisitContinueStatement(ContinueStatementSyntax node)
 {
     DefaultVisit(node);
 }
Exemplo n.º 7
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="node"></param>
 /// <remarks>
 /// Statements will cause an AST walker to be created, thus we don't need to go further deeper in the
 /// tree by visiting the node.
 /// </remarks>
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     this.VisitStatement(node);
 }
Exemplo n.º 8
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     base.VisitContinueStatement(node);
     _counter++;
 }
Exemplo n.º 9
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     Emit <ContinueBlock, ContinueStatementSyntax>(node);
 }
Exemplo n.º 10
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     _currentNode = new Continue();
 }
Exemplo n.º 11
0
 public override SyntaxNode VisitContinueStatement(ContinueStatementSyntax node)
 {
     node = (ContinueStatementSyntax)base.VisitContinueStatement(node);
     Classes.Add(node);
     return(node);
 }
Exemplo n.º 12
0
 // continue语句
 public virtual void VisitContinueStatementSyntax(ContinueStatementSyntax value)
 {
     DefaultVisit(value);
 }
 //
 // Summary:
 //     Called when the visitor visits a ContinueStatementSyntax node.
 public virtual void VisitContinueStatement(ContinueStatementSyntax node);
Exemplo n.º 14
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     GotoState(continueStates.Peek());
 }
Exemplo n.º 15
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     if (continueTargets.Count > 0)
     {
         var target = continueTargets.Peek();
         Connect(curNode, target, ControlFlowEdgeType.Jump);
         curNode = target;
     }
     curNode = builder.CreateEndNode(node);
 }
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     base.VisitContinueStatement(node);
     walker.StoreVisitData(node, walker.ConditionalContinues, walker.UnconditionalContinues);
 }
Exemplo n.º 17
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     Found();
 }
 public static bool IsFixable(ContinueStatementSyntax continueStatement)
 {
     return(RemoveRedundantContinueStatementAnalysis.Instance.IsFixable(continueStatement));
 }
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     CloseTo(currentState, currentState.NextState);
 }
Exemplo n.º 20
0
 public override void VisitContinueStatement(ContinueStatementSyntax node) =>
 LastStatement = new ApexContinueStatementSyntax
 {
     LeadingComments  = GetLeadingAndNoApexComments(node),
     TrailingComments = Comments.Trailing(node),
 };
			public override void VisitContinueStatement(ContinueStatementSyntax node)
			{
				base.VisitContinueStatement(node);
				_counter++;
			}
Exemplo n.º 22
0
 public static Doc Print(ContinueStatementSyntax node)
 {
     return(Doc.Concat(Token.Print(node.ContinueKeyword), Token.Print(node.SemicolonToken)));
 }
 public BoundContinueStatement(ContinueStatementSyntax syntax)
     : base(BoundNodeKind.ContinueStatement, syntax)
 {
 }
Exemplo n.º 24
0
 public static void Go(HaxeWriter writer, ContinueStatementSyntax statement)
 {
     writer.WriteLine("continue;");
 }
Exemplo n.º 25
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     _continuingFromCx.Peek().UnionWith(_currentPathParents);
     _currentPathParents = new HashSet <int>();
 }
 public override SyntaxNode VisitContinueStatement(ContinueStatementSyntax node)
 {
     statements.Add(node);
     toRemoveStatements.Add(node);
     return(node);
 }
 public ContinueStatementTranslation(ContinueStatementSyntax syntax, SyntaxTranslation parent) : base(syntax, parent)
 {
 }
Exemplo n.º 28
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="node"></param>
 public override sealed void VisitContinueStatement(ContinueStatementSyntax node)
 {
     this.OnNodeVisited(node);
     if (!this.traverseRootOnly) base.VisitContinueStatement(node);
 }
Exemplo n.º 29
0
 public void Flatten(ContinueStatementSyntax node, List<FlatStatement> instructions)
 {
     if (string.IsNullOrEmpty(this.CurrentContinueLabel))
     {
         throw new NotSupportedException("continue without context");
     }
     instructions.Add(FlatStatement.JMP(FlatOperand.LabelRef(CurrentContinueLabel)));
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="node"></param>
 public override sealed void VisitContinueStatement(ContinueStatementSyntax node)
 {
     this.OnNodeVisited(node, this.type.IsInstanceOfType(node));
     base.VisitContinueStatement(node);
 }
Exemplo n.º 31
0
 public override void VisitContinueStatement(ContinueStatementSyntax node) => HandleControlFlowBreak();
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     Fail = true;
 }
Exemplo n.º 33
0
        public override void VisitContinueStatement(ContinueStatementSyntax node)
        {
            MethodInfo mi = m_MethodInfoStack.Peek();

            if (m_ContinueInfoStack.Count > 0)
            {
                var ci = m_ContinueInfoStack.Peek();
                if (ci.IsIgnoreBreak)
                {
                    return;
                }
                if (ci.HaveBreak)
                {
                    CodeBuilder.AppendFormat("{0}{1} = false;", GetIndentString(), ci.BreakFlagVarName);
                    CodeBuilder.AppendLine();
                }

                bool isLastNode = IsLastNodeOfFor(node);
                if (!isLastNode)
                {
                    CodeBuilder.AppendFormat("{0}block{{", GetIndentString());
                    CodeBuilder.AppendLine();
                }

                if (mi.TryUsingLayer > 0 && mi.TryCatchUsingOrLoopSwitchStack.Peek())
                {
                    var returnAnalysis = mi.TempReturnAnalysisStack.Peek();
                    if (mi.IsAnonymousOrLambdaMethod)
                    {
                        if (returnAnalysis.ExistReturnInLoopOrSwitch || null == returnAnalysis.RetValVar)
                        {
                            //return(2)代表是tryusing块里的continue语句
                            CodeBuilder.AppendFormat("{0}return(2);", GetIndentString());
                            CodeBuilder.AppendLine();
                        }
                        else
                        {
                            //可以不使用函数对象实现的try块,不能使用return语句,换成变量赋值与break
                            CodeBuilder.AppendFormat("{0}{1} = 2;", GetIndentString(), returnAnalysis.RetValVar);
                            CodeBuilder.AppendLine();
                            CodeBuilder.AppendFormat("{0}break;", GetIndentString());
                            CodeBuilder.AppendLine();
                        }
                    }
                    else
                    {
                        var    outParamsStr = returnAnalysis.OutParamsStr;
                        string prestr       = ", ";
                        //return(2)代表是tryusing块里的continue语句
                        CodeBuilder.AppendFormat("{0}return(2", GetIndentString());
                        if (!string.IsNullOrEmpty(outParamsStr))
                        {
                            CodeBuilder.Append(prestr);
                            CodeBuilder.Append(outParamsStr);
                        }
                        CodeBuilder.AppendLine(");");
                    }
                }
                else
                {
                    CodeBuilder.AppendFormat("{0}break;", GetIndentString());
                    CodeBuilder.AppendLine();
                }

                if (!isLastNode)
                {
                    CodeBuilder.AppendFormat("{0}}};", GetIndentString());
                    CodeBuilder.AppendLine();
                }
            }
        }
Exemplo n.º 34
0
 public virtual void VisitContinueStatement(ContinueStatementSyntax node) => DefaultVisit(node);
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     ContainsContinueStatement = true;
 }
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     LogicalLineCount++;
     base.VisitContinueStatement(node);
 }
Exemplo n.º 37
0
 private BoundStatement BindContinueStatement(ContinueStatementSyntax syntax)
 {
     return(new BoundContinueStatement());
 }
Exemplo n.º 38
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     CloseTo(currentState, currentState.NextState);
 }
Exemplo n.º 39
0
        public static ContinueStatementSyntax ContinueStatement()
        {
            var result = new ContinueStatementSyntax();

            return result;
        }
Exemplo n.º 40
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 => Fail = true;
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     IndentWriteLine("continue");
 }
Exemplo n.º 42
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     Emit(node.ToString());
     //base.VisitContinueStatement(node);
 }
 public ContinueStatementTranslation(ContinueStatementSyntax syntax, SyntaxTranslation parent) : base(syntax, parent)
 {
 }
Exemplo n.º 44
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     ++m_ContinueCount;
 }
Exemplo n.º 45
0
 public override SyntaxNode VisitContinueStatement(ContinueStatementSyntax node)
 {
     _output.WriteLine(node.ContinueKeyword, "continue;");
     return node;
 }
Exemplo n.º 46
0
 protected override object VisitContinueStatement(ContinueStatementSyntax node)
 {
     return(new ContinueStatement());
 }
Exemplo n.º 47
0
 public BoundStatement BindContinue(ContinueStatementSyntax node, DiagnosticBag diagnostics)
 {
     var target = this.ContinueLabel;
     if ((object)target == null)
     {
         Error(diagnostics, ErrorCode.ERR_NoBreakOrCont, node);
         return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
     }
     return new BoundContinueStatement(node, target);
 }
Exemplo n.º 48
0
 public override void VisitContinueStatement(ContinueStatementSyntax node)
 {
     this.Logic.Add(this.nodeFactory.CreateContinue());
 }