@@ -545,6 +545,18 @@ void Mutator::Mutate(Message* message, size_t max_size_hint) {
545
545
assert (IsInitialized (*message));
546
546
}
547
547
548
+ void Mutator::CrossOver (const Message& message1, Message* message2,
549
+ size_t max_size_hint) {
550
+ int size_increase_hint = static_cast <int >(max_size_hint) -
551
+ static_cast <int >(message2->ByteSizeLong ());
552
+ MutateImpl (message1, message2, true , size_increase_hint) ||
553
+ MutateImpl (*message2, message2, true , size_increase_hint);
554
+
555
+ PostProcessing (keep_initialized_, post_processors_, &random_)
556
+ .Run (message2, kMaxInitializeDepth );
557
+ assert (IsInitialized (*message2));
558
+ }
559
+
548
560
void Mutator::RegisterPostProcessor (const Descriptor* desc,
549
561
PostProcess callback) {
550
562
post_processors_.emplace (desc, callback);
@@ -601,18 +613,6 @@ bool Mutator::MutateImpl(const Message& source, Message* message,
601
613
return false ;
602
614
}
603
615
604
- void Mutator::CrossOver (const Message& message1, Message* message2,
605
- size_t max_size_hint) {
606
- int size_increase_hint = static_cast <int >(max_size_hint) -
607
- static_cast <int >(message2->ByteSizeLong ());
608
- MutateImpl (message1, message2, true , size_increase_hint) ||
609
- MutateImpl (*message2, message2, true , size_increase_hint);
610
-
611
- PostProcessing (keep_initialized_, post_processors_, &random_)
612
- .Run (message2, kMaxInitializeDepth );
613
- assert (IsInitialized (*message2));
614
- }
615
-
616
616
int32_t Mutator::MutateInt32 (int32_t value) { return FlipBit (value, &random_); }
617
617
618
618
int64_t Mutator::MutateInt64 (int64_t value) { return FlipBit (value, &random_); }
0 commit comments