public override SqlObject VisitNumberPathExpression([NotNull] sqlParser.NumberPathExpressionContext context) { Contract.Requires(context != null); SqlPathExpression pathExpression = (SqlPathExpression)this.Visit(context.path_expression()); SqlNumberLiteral number = SqlNumberLiteral.Create(CstToAstVisitor.GetNumber64ValueFromNode(context.NUMERIC_LITERAL())); return(SqlNumberPathExpression.Create(pathExpression, number)); }
public override SqlObject VisitStringPathExpression([NotNull] sqlParser.StringPathExpressionContext context) { Contract.Requires(context != null); SqlPathExpression pathExpression = (SqlPathExpression)this.Visit(context.path_expression()); SqlStringLiteral stringIndex = SqlStringLiteral.Create(CstToAstVisitor.GetStringValueFromNode(context.STRING_LITERAL())); return(SqlStringPathExpression.Create(pathExpression, stringIndex)); }
public override SqlObject VisitIdentifierPathExpression([NotNull] sqlParser.IdentifierPathExpressionContext context) { Contract.Requires(context != null); SqlPathExpression pathExpression = (SqlPathExpression)this.Visit(context.path_expression()); SqlIdentifier identifier = SqlIdentifier.Create(context.IDENTIFIER().GetText()); return(SqlIdentifierPathExpression.Create(parentPath: pathExpression, value: identifier)); }
private SqlNumberPathExpression(SqlPathExpression parentPath, SqlNumberLiteral value) : base(SqlObjectKind.NumberPathExpression, parentPath) { this.Value = value; }
public static SqlNumberPathExpression Create(SqlPathExpression parentPath, SqlNumberLiteral value) { return(new SqlNumberPathExpression(parentPath, value)); }
protected SqlPathExpression(SqlPathExpression parentPath) { this.ParentPath = parentPath; }
protected SqlPathExpression(SqlObjectKind kind, SqlPathExpression parentPath) : base(kind) { this.ParentPath = parentPath; }