/// <summary> /// Create a new expression node. /// </summary> /// <param name="parent">Parent node that defines this expression.</param> protected ExpressionNode(SemanticNode parent) { #if DEBUG if (parent == null) { throw new ArgumentNullException("parent"); } #endif this.Parent = parent; }
/// <summary> /// Create and initialize a new assignment expression. /// </summary> /// <param name="parent">Parent node that defines this expression.</param> /// <param name="identifier">Identifier token of the assignment target.</param> /// <param name="token">Token representing the assignment operator.</param> protected internal AssignmentNode(SemanticNode parent, IdentifierToken identifier, AssignmentOperatorToken token) : base(parent) { #if DEBUG if (identifier == null) { throw new ArgumentNullException("identifier"); } if (token == null) { throw new ArgumentNullException("token"); } #endif this.Target = new AssignmentTargetNode(this, identifier); this.AssignmentOperator = token; }
/// <summary> /// Create a new basic expression parse node. /// </summary> /// <param name="parent">Parent node that defines this expression.</param> protected internal BasicExpressionNode(SemanticNode parent) : base(parent) { }