private ISqlNode ParseQualifiedIdentifier(ITokenizer t) { // ( <Qualifier> "." )? <Identifier> var next = t.Peek(); if (!next.IsType(SqlTokenType.Identifier) && !next.IsType(SqlTokenType.Keyword)) { return(null); } t.GetNext(); if (!t.Peek().Is(SqlTokenType.Symbol, ".")) { return(new SqlIdentifierNode(next)); } t.GetNext(); var qualifier = new SqlIdentifierNode(next); var identifier = t.GetNext(); return(new SqlQualifiedIdentifierNode { Location = qualifier.Location, Qualifier = qualifier, Identifier = identifier.Is(SqlTokenType.Symbol, "*") ? (ISqlNode) new SqlOperatorNode("*") : new SqlIdentifierNode(identifier) }); }
public ISqlNode VisitIdentifier(SqlIdentifierNode n) { Append("[", n.Name, "]"); return(n); }
public override ISqlNode VisitIdentifier(SqlIdentifierNode n) { Current.GetInfoOrThrow(n.Name, n.Location); return(n); }
public virtual ISqlNode VisitIdentifier(SqlIdentifierNode n) => n;
public override ISqlNode VisitIdentifier(SqlIdentifierNode n) { return(base.VisitIdentifier(n)); }