public void Visit(ElseIfNode node) { foreach (var subnode in node) { Visit((dynamic)subnode); } }
public ElseIfBuilder(ElseIfNode elseIf) { node = elseIf; DotDefinition = new List <IDotElement>(); CreateNode(); CreateTrueEdge(); CreateFalseEdge(); }
public IfNode(LeafParser.IfContext ctx) { Line = ctx.Start.Line; Check = ValueNode.Create(ctx.value()); Scope = new ScopeNode(ctx.conditional_scope(0)); if (ctx.Else() != null) { if (ctx.conditional_scope(1) != null) { Else = new ElseNode(ctx.conditional_scope(1)); } else { ElseIf = new ElseIfNode(ctx.@if()); } } }
public Node ElseIf() { var node = new ElseIfListNode(); while (CurrentToken == TokenCategory.ELSEIF) { var node1 = new ElseIfNode(); Expect(TokenCategory.ELSEIF); Expect(TokenCategory.PARENTHESIS_OPEN); node1.Add(Expr()); Expect(TokenCategory.PARENTHESIS_CLOSE); Expect(TokenCategory.LLAVE_OPEN); node1.Add(StmtList()); Expect(TokenCategory.LLAVE_CLOSE); node.Add(node1); } return(node); }