/// <summary> /// Initializes the node after being parsed by the parser. /// </summary> /// <param name="primary">Primary of the argument.</param> /// <param name="messages">Optional message or a sequence of messages sent to the primary.</param> protected internal void SetContents(IPrimaryNode primary, UnaryMessageSequenceNode messages) { if (primary == null) { throw new ArgumentNullException("primary"); } this.Primary = primary; this.Messages = messages; // OK if this is null }
/// <summary> /// Initializes the node after being parsed by the parser. /// </summary> /// <param name="message">The first (current) message in the message sequence.</param> /// <param name="nextMessage">Optional sequence of messages that may follow this message.</param> protected internal void SetContents(UnaryMessageNode message, UnaryMessageSequenceNode nextMessage) { if (message == null) { throw new ArgumentNullException("message"); } this.Message = message; this.NextMessage = nextMessage; // OK with null. }
/// <summary> /// Initializes the node after being parsed by the parser. /// </summary> /// <param name="primary">Primary of the argument.</param> /// <param name="messages">Optional message or a sequence of messages sent to the primary.</param> protected internal void SetContents(IPrimaryNode primary, UnaryMessageSequenceNode messages) { if (primary == null) throw new ArgumentNullException("primary"); this.Primary = primary; this.Messages = messages; // OK if this is null }
/// <summary> /// Initializes the node after being parsed by the parser. /// </summary> /// <param name="message">The first (current) message in the message sequence.</param> /// <param name="nextMessage">Optional sequence of messages that may follow this message.</param> protected internal void SetContents(UnaryMessageNode message, UnaryMessageSequenceNode nextMessage) { if (message == null) throw new ArgumentNullException("message"); this.Message = message; this.NextMessage = nextMessage; // OK with null. }
protected virtual UnaryMessageSequenceNode ParseUnaryMessageSequence(IMessageSequenceParentNode parent, IdentifierToken selector) { // PARSE: <unary message>* UnaryMessageSequenceNode result = new UnaryMessageSequenceNode(parent); // NB: ParseUnaryMessage() cannot fail, so we don't check result UnaryMessageNode message = this.ParseUnaryMessage(result, selector); Token token = this.GetNextTokenxx(Preference.Default); UnaryMessageSequenceNode nextMessage = null; if (token is IdentifierToken) nextMessage = this.ParseUnaryMessageSequence(result, (IdentifierToken)token); else this.ResidueToken = token; result.SetContents(message, nextMessage); return result; }