public static object?GetValue(this ExpressionFragment expressionFragment) { return(expressionFragment switch { ConstantExpressionFragment c => c.Value, { } x => x.Expression?.GetValue(), _ => throw new ArgumentException() });
public GremlinExpression(ExpressionFragment left, ExpressionSemantics semantics, ExpressionFragment right) { if (!(left is ParameterExpressionFragment) && right is ParameterExpressionFragment) { Left = right; Semantics = semantics.Flip(); Right = left; } else { Left = left; Right = right; Semantics = semantics; } }