Avoid a "missing_return" warning in isValidImplementation.
The analyzer can't tell that `unhandled` is guaranteed not to return,
so it thinks that `isValidImplementation` might exit without returning
a value. An easy workaround is to turn the call to `unhandled` into a
`throw`.
This is needed to roll kernel into the internal Google codebase, in
which the "missing_return" warning causes build failures.
Change-Id: Ia88b6cdef3693ab4646470616c7f868c5bad0502
Reviewed-on: https://dart-review.googlesource.com/72900
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
index c143b6d..70a9cd1 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
@@ -492,7 +492,7 @@
}
}
- unhandled(
+ return unhandled(
"${interfaceMember.runtimeType} and ${dispatchTarget.runtimeType}",
"isValidImplementation",
interfaceMember.fileOffset,