[dart2wasm] Throw UnsupportedError instead of string in IndexError.* getters

This is a follow-up to [0].

[0] https://dart-review.googlesource.com/c/sdk/+/435783B

Change-Id: I18e85980a782ae851edd265da0d451f131e594c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/436282
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
diff --git a/sdk/lib/_internal/wasm/lib/error_utils.dart b/sdk/lib/_internal/wasm/lib/error_utils.dart
index 8e1dc1d..20828ea 100644
--- a/sdk/lib/_internal/wasm/lib/error_utils.dart
+++ b/sdk/lib/_internal/wasm/lib/error_utils.dart
@@ -258,6 +258,8 @@
 
 const _noSuchMethodErrorWithoutDetails = _NoSuchMethodErrorWithoutDetails();
 
+const _unsupportedErrorWithoutDetails = _UnsupportedErrorWithoutDetails();
+
 const typeErrorWithoutDetails = _TypeErrorWithoutDetails();
 
 class _ErrorWithoutDetails implements Error {
@@ -278,7 +280,7 @@
   String? get name => null;
 
   @override
-  String get message => toString();
+  String get message => _message;
 
   @override
   dynamic get invalidValue => null;
@@ -290,16 +292,16 @@
     : super('IndexError (details omitted due to --minify)');
 
   @override
-  int get start => throw 'no details';
+  int get start => throw _unsupportedErrorWithoutDetails;
 
   @override
-  int get end => throw 'no details';
+  int get end => throw _unsupportedErrorWithoutDetails;
 
   @override
-  int get length => throw 'no details';
+  int get length => throw _unsupportedErrorWithoutDetails;
 
   @override
-  int get invalidValue => throw 'no details';
+  int get invalidValue => throw _unsupportedErrorWithoutDetails;
 
   @override
   Object? get indexable => null;
@@ -335,3 +337,12 @@
     implements LateError {
   const _LateErrorWithoutDetails(String message) : super(message);
 }
+
+class _UnsupportedErrorWithoutDetails extends _ErrorWithoutDetails
+    implements UnsupportedError {
+  const _UnsupportedErrorWithoutDetails()
+    : super('UnsupportedError (details omitted due to --minify)');
+
+  @override
+  String get message => _message;
+}