public static T DeepCopy <T>(T value, DeepCopyOptions options = DeepCopyOptions.DeepCopier) { return(options switch { DeepCopyOptions.DeepCopier => DeepCopier.Copy(value), DeepCopyOptions.ExpressionCopier => ExpressionCopier <T> .Copy(value), _ => ExpressionCopier <T> .Copy(value) });
private static ExprNode CopyVisitExpression( ExprNode expression, ExpressionCopier expressionCopier) { return expressionCopier.Copy(expression); }
public RowRecogExprRepeatDesc CheckedCopy(ExpressionCopier expressionCopier) { ExprNode lowerCopy = Lower == null ? null : expressionCopier.Copy(Lower); ExprNode upperCopy = Upper == null ? null : expressionCopier.Copy(Upper); ExprNode singleCopy = Single == null ? null : expressionCopier.Copy(Single); return new RowRecogExprRepeatDesc(lowerCopy, upperCopy, singleCopy); }