[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;
+}