public override void Visit(NotInNode node) { Visit(node as InNode); }
/// <summary> /// Visit NotIn node in DFS manner. /// </summary> /// <param name="node">NotIn node that will be visited.</param> public void Visit(NotInNode node) { node.Right.Accept(this); node.Left.Accept(this); node.Accept(_visitor); }
public override void Visit(NotInNode node) => ProduceDebuggerInstructions(node, n => base.Visit(n));
/// <summary> /// Visit NotIn node. /// </summary> /// <param name="node">NotIn node of AST</param> public abstract void Visit(NotInNode node);
public void Visit(NotInNode node) { }
/// <summary> /// Performs "NotIn" specific operations. /// </summary> /// <param name="node">The "NotIn" node.</param> public virtual void Visit(NotInNode node) { Visit(node as InNode); Instructions.Add(new NotInstruction()); }
private RdlSyntaxNode ComposeArithmeticOperators(Precendence precendence) { RdlSyntaxNode node = null; switch (precendence) { case Precendence.Level1: { node = ComposeArithmeticOperators(Precendence.Level2); while (IsArithmeticOperator(Current, Precendence.Level1)) { switch (Current.TokenType) { case StatementType.Star: Consume(StatementType.Star); node = new StarNode(node, ComposeBaseTypes()); break; case StatementType.FSlash: Consume(StatementType.FSlash); node = new FSlashNode(node, ComposeBaseTypes()); break; case StatementType.Mod: Consume(StatementType.Mod); node = new ModuloNode(node, ComposeBaseTypes()); break; case StatementType.In: Consume(StatementType.In); node = new InNode(node, ComposeArgs()); break; case StatementType.NotIn: Consume(StatementType.NotIn); node = new NotInNode(node, ComposeArgs()); break; } } break; } case Precendence.Level2: { node = ComposeArithmeticOperators(Precendence.Level3); while (IsArithmeticOperator(Current, Precendence.Level2)) { switch (Current.TokenType) { case StatementType.Plus: Consume(StatementType.Plus); node = new AddNode(node, ComposeBaseTypes()); break; case StatementType.Hyphen: Consume(StatementType.Hyphen); node = new HyphenNode(node, ComposeBaseTypes()); break; } } break; } case Precendence.Level3: node = ComposeBaseTypes(); break; } return(node); }