/// <summary> /// Writes all specials up to the start position of the node. /// </summary> public void AcceptNodeStart(INode node) { if (node is AttributedNode) { currentAttributedNode = node as AttributedNode; if (currentAttributedNode.Attributes.Count == 0) { AcceptPoint(node.StartLocation); currentAttributedNode = null; } } else { AcceptPoint(node.StartLocation); } }
/// <summary> /// Writes all specials up to the end position of the node. /// </summary> public void AcceptNodeEnd(INode node) { visitor.ForceWriteInPreviousLine = true; AcceptPoint(node.EndLocation); visitor.ForceWriteInPreviousLine = false; if (currentAttributedNode != null) { if (node == currentAttributedNode.Attributes[currentAttributedNode.Attributes.Count - 1]) { AcceptPoint(currentAttributedNode.StartLocation); currentAttributedNode = null; } } }