protected internal override Node VisitVariableSqlExpression(VariableSqlExpression node) { node = this.ValidateChildren(node); var variableType = this.Scope.GetVariableType(node.Name); if (variableType == null) { this.AddError(node, $"Undeclared variable '{node.Name}'."); } this.Data.SetType(node, variableType); this.Data.SetScope(node, NodeScope.Constant); return(node); }
/// <summary> /// Visits a <see cref="VariableSqlExpression"/>. /// </summary> /// <param name="node"> /// The node. /// </param> /// <returns> /// The node, or a new version of the node. /// </returns> protected internal virtual Node VisitVariableSqlExpression([NotNull] VariableSqlExpression node) { return(node.VisitChildren(this)); }
protected internal override Node VisitVariableSqlExpression([NotNull] VariableSqlExpression node) { this.Builder.Append(node.Name); return(node); }
/// <summary> /// Visits a <see cref="VariableSqlExpression"/>. /// </summary> /// <param name="node"> /// The node. /// </param> /// <returns> /// The node, or a new version of the node. /// </returns> protected internal override Node VisitVariableSqlExpression(VariableSqlExpression node) { return(this.CheckForGroups(node, n => base.VisitVariableSqlExpression(n))); }
/// <summary> /// Visits a <see cref="VariableSqlExpression"/>. /// </summary> /// <param name="node"> /// The node. /// </param> /// <returns> /// The node, or a new version of the node. /// </returns> protected internal override Node VisitVariableSqlExpression(VariableSqlExpression node) { return(this.VisitImplementation(node) ?? base.VisitVariableSqlExpression(node)); }