chore: initial git load of code space
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
using Strata.SqlTools.SqlBreakdown.Interfaces.Core;
|
||||
|
||||
using Strata.SqlTools.SqlBreakdown.Expressions.Conditional;
|
||||
|
||||
namespace Strata.SqlTools.SqlBreakdown.Expressions.Functions.Conditional;
|
||||
|
||||
/// <summary>
|
||||
/// Single-level if-then-else expression. Similar to <see cref="CaseExpression"/>, but only allows a single condition.
|
||||
/// </summary>
|
||||
public class IfThenElseExpression : ConditionalFunctionExpression
|
||||
{
|
||||
public override string FunctionName => "IFF";
|
||||
|
||||
public BooleanExpression Condition { get; }
|
||||
public Expression ResultIfTrue { get; }
|
||||
public Expression ResultIfFalse { get; }
|
||||
|
||||
public IfThenElseExpression(BooleanExpression condition, Expression resultIfTrue, Expression resultIfFalse) : base(condition, resultIfTrue, resultIfFalse)
|
||||
{
|
||||
Condition = condition;
|
||||
ResultIfTrue = resultIfTrue;
|
||||
ResultIfFalse = resultIfFalse;
|
||||
}
|
||||
|
||||
public override T Accept<T>(IVisitor<T> visitor)
|
||||
{
|
||||
return visitor.VisitFunctionExpression(this);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user