Index: pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
diff --git a/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart b/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
index beffa6545db2207880813fe5d23a5ece8010bdac..f502ca081ace6b75fa79d7b695578547fca764ce 100644 |
--- a/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
+++ b/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
@@ -780,9 +780,11 @@ class TypeErrorImplementation extends Error implements TypeError { |
* Normal type error caused by a failed subtype test. |
*/ |
// TODO(sra): Include [value] in message. |
- TypeErrorImplementation(Object value, Object actualType, Object expectedType) |
+ TypeErrorImplementation(Object value, Object actualType, Object expectedType, |
+ bool strongModeError) |
: message = "Type '${actualType}' is not a subtype " |
- "of type '${expectedType}'"; |
+ "of type '${expectedType}'" + |
+ (strongModeError ? "" : " in strong mode"); |
TypeErrorImplementation.fromMessage(String this.message); |
@@ -798,37 +800,18 @@ class CastErrorImplementation extends Error implements CastError { |
* Normal cast error caused by a failed type cast. |
*/ |
// TODO(sra): Include [value] in message. |
- CastErrorImplementation(Object value, Object actualType, Object expectedType) |
+ CastErrorImplementation(Object value, Object actualType, Object expectedType, |
+ bool strongModeError) |
: message = "CastError: Casting value of type '$actualType' to" |
- " incompatible type '$expectedType'"; |
+ " type '$expectedType' which is incompatible" + |
+ (strongModeError ? "" : " in strong mode"); |
String toString() => message; |
} |
-/// Thrown by type assertions that fail in strong mode that would have passed in |
-/// standard Dart. |
-class StrongModeTypeError extends Error implements TypeError, StrongModeError { |
- final String message; |
- // TODO(sra): Include [value] in message. |
- StrongModeTypeError(Object value, Object actualType, Object expectedType) |
- : message = "Type '${actualType}' is not a subtype " |
- "of type '${expectedType}' in strong mode"; |
- String toString() => message; |
-} |
- |
-/// Thrown by casts that fail in strong mode that would have passed in standard |
-/// Dart. |
-class StrongModeCastError extends Error implements CastError, StrongModeError { |
- final String message; |
- // TODO(sra): Include [value] in message. |
- StrongModeCastError(Object value, Object actualType, Object expectedType) |
- : message = "CastError: Casting value of type '$actualType' to" |
- " type '$expectedType' which is incompatible in strong mode"; |
- String toString() => message; |
-} |
- |
/// Used for Strong-mode errors other than type assertions and casts. |
-class StrongModeErrorImplementation extends Error implements StrongModeError { |
+// TODO(jmesserly): remove this: https://github.com/dart-lang/sdk/issues/30095 |
+class StrongModeErrorImplementation extends Error { |
final String message; |
StrongModeErrorImplementation(this.message); |
String toString() => message; |