internal VfpJoinExpression(VfpExpressionKind kind, TypeUsage collectionOfRowResultType, VfpExpressionBinding left, VfpExpressionBinding right, VfpExpression condition) : base(kind, collectionOfRowResultType) { Left = ArgumentUtility.CheckNotNull("left", left); Right = ArgumentUtility.CheckNotNull("right", right); JoinCondition = ArgumentUtility.CheckNotNull("condition", condition); }
public BinaryFragment(VfpExpressionKind kind, ISqlFragment left, ISqlFragment right) : base(SqlFragmentType.Binary) { Kind = kind; Left = left; Right = right; }
internal VfpApplyExpression(VfpExpressionKind applyKind, TypeUsage resultRowCollectionTypeUsage, VfpExpressionBinding input, VfpExpressionBinding apply) : base(applyKind, resultRowCollectionTypeUsage) { Input = ArgumentUtility.CheckNotNull("input", input); Apply = ArgumentUtility.CheckNotNull("apply", apply); }
public static string GetOperator(VfpExpressionKind kind) { switch (kind) { case VfpExpressionKind.And: return(" AND "); case VfpExpressionKind.Divide: return(" / "); case VfpExpressionKind.Equals: return(" = "); case VfpExpressionKind.GreaterThan: return(" > "); case VfpExpressionKind.GreaterThanOrEquals: return(" >= "); case VfpExpressionKind.LessThan: return(" < "); case VfpExpressionKind.LessThanOrEquals: return(" <= "); case VfpExpressionKind.Minus: return(" - "); case VfpExpressionKind.Modulo: return(" % "); case VfpExpressionKind.Multiply: return(" * "); case VfpExpressionKind.Or: return(" OR "); case VfpExpressionKind.Plus: return(" + "); case VfpExpressionKind.NotEquals: return(" <> "); default: throw new InvalidOperationException("Invalid ExpressionKind: " + kind.ToString()); } }
public static VfpJoinExpression Join(VfpExpressionKind kind, TypeUsage collectionOfRowResultType, VfpExpressionBinding left, VfpExpressionBinding right, VfpExpression joinCondition) { return(new VfpJoinExpression(kind, collectionOfRowResultType, left, right, joinCondition)); }
protected VfpExpression(VfpExpressionKind expressionKind, TypeUsage resultType) { ExpressionKind = ArgumentUtility.CheckIsDefined("expressionKind", expressionKind); ResultType = ArgumentUtility.CheckNotNull("resultType", resultType); }
protected VfpUnaryExpression(VfpExpressionKind kind, TypeUsage resultType, VfpExpression argument) : base(kind, resultType) { Argument = ArgumentUtility.CheckNotNull("argument", argument); }
internal VfpOfTypeExpression(VfpExpressionKind expressionKind, TypeUsage collectionResultType, VfpExpression argument, TypeUsage type) : base(expressionKind, collectionResultType, argument) { OfType = ArgumentUtility.CheckNotNull("type", type); }
internal VfpBinaryExpression(VfpExpressionKind kind, TypeUsage type, VfpExpression left, VfpExpression right) : base(kind, type) { Left = ArgumentUtility.CheckNotNull("left", left); Right = ArgumentUtility.CheckNotNull("right", right); }
internal VfpIsOfExpression(VfpExpressionKind isOfKind, TypeUsage booleanResultType, VfpExpression argument, TypeUsage isOfType) : base(isOfKind, booleanResultType, argument) { OfType = ArgumentUtility.CheckNotNull("isOfType", isOfType); }
internal VfpComparisonExpression(VfpExpressionKind kind, TypeUsage resultType, VfpExpression left, VfpExpression right) : base(kind, resultType, left, right) { }
internal VfpArithmeticExpression(VfpExpressionKind kind, TypeUsage numericResultType, VfpExpressionList arguments) : base(kind, numericResultType) { Arguments = arguments; }
internal VfpQuantifierExpression(VfpExpressionKind kind, TypeUsage booleanResultType, VfpExpressionBinding input, VfpExpression predicate) : base(kind, booleanResultType) { Input = ArgumentUtility.CheckNotNull("input", input); Predicate = ArgumentUtility.CheckNotNull("predicate", predicate); }