/// <summary> /// Visits the Binary-Keyword Message Sequence node. /// </summary> /// <param name="node">The node to visit.</param> public virtual TResult VisitBinaryKeywordMessageSequence(BinaryKeywordMessageSequenceNode node) { if (node.Message != null) { node.Message.Accept(this); } if (node.NextMessage != null) { node.NextMessage.Accept(this); } return(default(TResult)); // The default naive implementation }
protected virtual BinaryKeywordMessageSequenceNode ParseBinaryKeywordMessageSequence(IMessageSequenceParentNode parent, BinarySelectorToken selector) { // PARSE: <binary message>+ [<keyword message>] BinaryKeywordMessageSequenceNode result = new BinaryKeywordMessageSequenceNode(parent); // NB: ParseBinaryMessage() cannot fail, so we don't check result BinaryMessageNode message = this.ParseBinaryMessage(result, selector); Token token = this.GetNextTokenxx(Preference.Default); BinaryKeywordOrKeywordMessageSequenceNode nextMessage = (BinaryKeywordOrKeywordMessageSequenceNode) this.ParseMessages(result, token, MessageType.Binary | MessageType.Keyword); result.SetContents(message, nextMessage); return(result); }
/// <summary> /// Visits the Binary-Keyword Message Sequence node. /// </summary> /// <param name="node">The node to visit.</param> public override bool VisitBinaryKeywordMessageSequence(BinaryKeywordMessageSequenceNode node) { if (node.Parent == null) { return(false); } if ((node.Message == null) || !node.Message.Accept(this)) { return(false); } if ((node.NextMessage != null) && !node.NextMessage.Accept(this)) { return(false); } return(true); }
/// <summary> /// Visits the Binary-Keyword Message Sequence node. /// </summary> /// <param name="node">The node to visit.</param> public virtual TResult VisitBinaryKeywordMessageSequence(BinaryKeywordMessageSequenceNode node) { throw new NotImplementedException(); }