public void VisitContinue(ContinueNode node) { int continueIndex = _functionBuilder.AddInstruction(OpCode.JUMP); _continues.Push(continueIndex); _functionBuilder.AddDebugSymbol(continueIndex, node); }
public virtual void Visit(ContinueNode node) { if (node != null) { // no children } }
private void AnalyzeContinue(ContinueNode continueNode) { if (s_loopStack.Count == 0) { return; //TODO:报错 没有要中断或继续的封闭循环 } continueNode.Loop = s_loopStack.Peek(); }
public ContinueBuilder(ContinueNode continueNode) { node = continueNode; DotDefinition = new List <IDotElement>(); CreateNode(); CreateEdgeToNextSibling(); CreateSpecialEdge(); }
public void VisitContinue(ContinueNode node) { // Don't insert unreachable code if (!_builder.InsertBlock.IsValid) { return; } SetCurrentDebugLocation(node); _builder.BuildBr(_breakContinueTop.ContinueBlock); _builder.ClearInsertionPosition(); }
public virtual ContinueNode Visit(ContinueNode node) { return(node); }
public virtual void Visit(ContinueNode node) { // no children }
public void VisitContinue(ContinueNode node) { Print("Continue"); }
public virtual bool Walk(ContinueNode node) { return(true); }
public void VisitContinue(ContinueNode node) { UpdateLine(node); asm.Jump(loop.CodeEnd); }
public void VisitContinue(ContinueNode node) { _scopeManager.SetScope(node, _currentScope); }
public virtual bool Walk(ContinueNode node) { return true; }
public void VisitContinue(ContinueNode node) { VisitContinueHandler(node); }
public ContinueCompiler(ContinueNode node) { this.node = node; }
public ContinueNodeTests() { subject = new ContinueNode(SourcePosition.NIL); }
//Jumpers public Word Visit(ContinueNode continueNode) { return(new Continue()); }
public virtual void Visit(ContinueNode node) { if (node != null) { AcceptChildren(node); } }
public override bool Walk(ContinueNode node) { AddNode(node); return(true); }
public virtual void PostWalk(ContinueNode node) { }
public virtual bool VisitContinueNode(ContinueNode node) { return(DefaultVisit(node)); }
public void VisitContinue(ContinueNode node) { ContinueVisitor?.Visit(node); }
public virtual void VisitContinue(ContinueNode node) { VisitDefaultStatement(node); }
public override bool Walk(ContinueNode node) { UpdateChildRanges(node); return(base.Walk(node)); }
public void VisitContinue(ContinueNode node) { _visitor.VisitStatement(node); }
// $ANTLR start "continueStatement" // JavaScript.g:152:1: continueStatement : 'continue' ( ( Identifier )=> Identifier | ) statementEnd ; public JavaScriptParser.continueStatement_return continueStatement() // throws RecognitionException [1] { JavaScriptParser.continueStatement_return retval = new JavaScriptParser.continueStatement_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal156 = null; IToken Identifier157 = null; JavaScriptParser.statementEnd_return statementEnd158 = default(JavaScriptParser.statementEnd_return); object string_literal156_tree=null; object Identifier157_tree=null; try { // JavaScript.g:153:2: ( 'continue' ( ( Identifier )=> Identifier | ) statementEnd ) // JavaScript.g:153:4: 'continue' ( ( Identifier )=> Identifier | ) statementEnd { root_0 = (object)adaptor.GetNilNode(); string_literal156=(IToken)Match(input,54,FOLLOW_54_in_continueStatement1231); if (state.failed) return retval; if ( state.backtracking == 0 ) {string_literal156_tree = new ContinueNode(string_literal156) ; root_0 = (object)adaptor.BecomeRoot(string_literal156_tree, root_0); } // JavaScript.g:153:30: ( ( Identifier )=> Identifier | ) int alt82 = 2; int LA82_0 = input.LA(1); if ( (LA82_0 == Identifier) ) { int LA82_1 = input.LA(2); if ( (synpred10_JavaScript()) ) { alt82 = 1; } else if ( (true) ) { alt82 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d82s1 = new NoViableAltException("", 82, 1, input); throw nvae_d82s1; } } else if ( (LA82_0 == EOF || LA82_0 == LT || (LA82_0 >= StringLiteral && LA82_0 <= RegexLiteral) || (LA82_0 >= 39 && LA82_0 <= 42) || LA82_0 == 45 || (LA82_0 >= 47 && LA82_0 <= 52) || (LA82_0 >= 54 && LA82_0 <= 57) || (LA82_0 >= 59 && LA82_0 <= 63) || (LA82_0 >= 66 && LA82_0 <= 67) || (LA82_0 >= 99 && LA82_0 <= 100) || (LA82_0 >= 104 && LA82_0 <= 114)) ) { alt82 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d82s0 = new NoViableAltException("", 82, 0, input); throw nvae_d82s0; } switch (alt82) { case 1 : // JavaScript.g:153:31: ( Identifier )=> Identifier { Identifier157=(IToken)Match(input,Identifier,FOLLOW_Identifier_in_continueStatement1244); if (state.failed) return retval; if ( state.backtracking == 0 ) {Identifier157_tree = (object)adaptor.Create(Identifier157); adaptor.AddChild(root_0, Identifier157_tree); } } break; case 2 : // JavaScript.g:153:64: { } break; } PushFollow(FOLLOW_statementEnd_in_continueStatement1251); statementEnd158 = statementEnd(); state.followingStackPointer--; if (state.failed) return retval; } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
public void Accept(ContinueNode node) { emit(node.SourceLocation, InstructionType.Jump, methodStack.Peek().ContinueLabels.Pop()); }
public virtual void VisitContinueNode(ContinueNode node) { DefaultVisit(node); }
private RuntimeResult VisitContinueNode(ContinueNode node, Context context) { context.Continue = true; return(new RuntimeResult(new Values.NullValue().SetPositionAndContext(node.Position, context))); }
public void VisitContinue(ContinueNode node) { }
public void Visit(ContinueNode node) { // not applicable; terminate }
public virtual XzaarExpression Visit(ContinueNode continueNode) { return(null); }
public override bool Walk(ContinueNode node) { CheckStatement(node); return(base.Walk(node)); }