| Index: tool/input_sdk/private/ddc_runtime/operations.dart
|
| diff --git a/tool/input_sdk/private/ddc_runtime/operations.dart b/tool/input_sdk/private/ddc_runtime/operations.dart
|
| index b9a324d7792a0b58e0599dda5fb1730680ddb3cc..3d7ea835c0a9cb9cd92e39e4faf023c6b642e8e6 100644
|
| --- a/tool/input_sdk/private/ddc_runtime/operations.dart
|
| +++ b/tool/input_sdk/private/ddc_runtime/operations.dart
|
| @@ -459,14 +459,18 @@ hashCode(obj) {
|
| }
|
|
|
| @JSExportName('toString')
|
| -_toString(obj) {
|
| +String _toString(obj) {
|
| if (obj == null) return "null";
|
|
|
| var extension = getExtensionType(obj);
|
| if (extension != null) {
|
| - return JS('', '#[dartx.toString]()', obj);
|
| + return JS('String', '#[dartx.toString]()', obj);
|
| }
|
| - return JS('', '"" + #', obj);
|
| + // TODO(jmesserly): restore this faster path once ES Symbol is treated as
|
| + // an extension type (and thus hits the above code path).
|
| + // See https://github.com/dart-lang/dev_compiler/issues/578.
|
| + // return JS('', '"" + #', obj);
|
| + return JS('String', '#.toString()', obj);
|
| }
|
|
|
| // TODO(jmesserly): is the argument type verified statically?
|
|
|