public override IExpression Clone() { var clone = new CharacterClassExpression(_alphabet, _random, _maxInverseLength) { RepeatRange = RepeatRange?.Clone(), ExpansionLength = ExpansionLength }; clone.AddCharacters(_characterList); return(clone); }
public override IExpression Clone() { var clone = new ConcatenationExpression(_random) { RepeatRange = RepeatRange?.Clone(), ExpansionLength = ExpansionLength }; clone.AppendRange(_elementaryExpressions.Select(x => x.Clone())); return(clone); }
public override IExpression Clone() => new UnionExpression(_intersectExpressions.Select(x => x.Clone()).ToList(), _random) { RepeatRange = RepeatRange?.Clone(), ExpansionLength = ExpansionLength };