Update dartfuzz code to remove generation of old super-mixins

Closes https://github.com/dart-lang/sdk/pull/51682

GitOrigin-RevId: 1bd06789a88d381d817c45b8cc74de34f8753a8b
Change-Id: I32c409e1b277fad98db6b4450adc22fa60973c04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287780
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
This commit is contained in:
Natsu 2023-03-23 22:44:33 +00:00 committed by Commit Queue
parent f927a2544e
commit 7c6f6d6232

View file

@ -14,7 +14,7 @@ import 'dartfuzz_type_table.dart';
// Version of DartFuzz. Increase this each time changes are made
// to preserve the property that a given version of DartFuzz yields
// the same fuzzed program for a deterministic random seed.
const String version = '1.98';
const String version = '1.99';
// Restriction on statements and expressions.
const int stmtDepth = 1;
@ -875,17 +875,12 @@ class DartFuzz {
} else {
final parentClass = choose(i);
classParents.add(parentClass);
if (coinFlip()) {
if (classParents[parentClass] >= 0 || coinFlip()) {
// Inheritance
emit('class X$i extends X$parentClass ');
} else {
// Mixin
if (classParents[parentClass] >= 0) {
emit(
'class X$i extends X${classParents[parentClass]} with X$parentClass ');
} else {
emit('class X$i with X$parentClass ');
}
emit('class X$i with X$parentClass ');
}
}
emitBraceWrapped(() {