private void TraverseSetOperator(SetOperatorNode node) { node.Left.Accept(this); node.Right.Accept(this); node.Accept(_visitor); RestoreScope(); }
private void TraverseSetOperator(SetOperatorNode node) { _walker = _walker.NextChild(); node.Left.Accept(this); node.Right.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); }
private void TraverseSetOperator(SetOperatorNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); if (node.Right is SetOperatorNode) { var nodes = new Stack <SetOperatorNode>(); nodes.Push(node); node.Left.Accept(this); _visitor.IncrementMethodIdentifier(); while (nodes.Count > 0) { var current = nodes.Pop(); if (current.Right is SetOperatorNode operatorNode) { nodes.Push(operatorNode); _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); operatorNode.Left.Accept(this); _visitor.IncrementMethodIdentifier(); current.Accept(_visitor); } else { current.Right.Accept(this); _visitor.IncrementMethodIdentifier(); current.Accept(_visitor); } } } else { node.Left.Accept(this); _visitor.IncrementMethodIdentifier(); node.Right.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); _visitor.SetScope(_walker.Scope); } }
private void TraverseSetOperator(SetOperatorNode node) { if (node.Right is SetOperatorNode) { var nodes = new Stack <SetOperatorNode>(); nodes.Push(node); node.Left.Accept(this); while (nodes.Count > 0) { var current = nodes.Pop(); if (current.Right is SetOperatorNode operatorNode) { nodes.Push(operatorNode); operatorNode.Left.Accept(this); current.Accept(_visitor); } else { current.Right.Accept(this); current.Accept(_visitor); } } } else { node.Left.Accept(this); node.Right.Accept(this); node.Accept(_visitor); } }
private void TraverseSetOperator(SetOperatorNode node) { node.Left.Accept(this); node.Right.Accept(this); node.Accept(Visitor); }