Beispiel #1
0
        /// <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
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
 /// <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();
 }