Move writeEnum() / readEnum() to lower level.

Change-Id: If20f6421845a427adbace262ee674fcaec7a3721
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/369783
Reviewed-by: Samuel Rawlins <srawlins@google.com>
This commit is contained in:
Konstantin Shcheglov 2024-06-05 16:57:03 +00:00
parent 8e1ea1f114
commit a4aac1781b
4 changed files with 10 additions and 6 deletions

View file

@ -2062,8 +2062,7 @@ class ResolutionReader {
}
T readEnum<T extends Enum>(List<T> values) {
var index = readByte();
return values[index];
return _reader.readEnum(values);
}
List<AnalyzerMacroDiagnostic> readMacroDiagnostics() {

View file

@ -815,10 +815,6 @@ class ResolutionSink extends _SummaryDataWriter {
}
}
void writeEnum(Enum e) {
writeByte(e.index);
}
void writeMacroDiagnostics(List<AnalyzerMacroDiagnostic> elements) {
writeList(elements, _writeMacroDiagnostic);
}

View file

@ -56,6 +56,11 @@ class SummaryDataReader {
return _doubleBuffer[0];
}
T readEnum<T extends Enum>(List<T> values) {
var index = readByte();
return values[index];
}
T? readOptionalObject<T>(T Function(SummaryDataReader reader) read) {
if (readBool()) {
return read(this);

View file

@ -121,6 +121,10 @@ class BufferedSink {
addByte(byte);
}
void writeEnum(Enum e) {
writeByte(e.index);
}
void writeIf<T extends Object>(
bool condition,
void Function() ifTrue,