| Index: sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart b/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| index 927e82a17ffb89a06da7cfb6e09b2fbbe8508dab..d5dccf6a8f8e4097e6ece06683698d5cf8b1ca1d 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| @@ -5,7 +5,8 @@
|
| library _interceptors;
|
|
|
| import 'dart:collection';
|
| -import 'dart:_collection-dev';
|
| +import 'dart:_collection-dev' hide Symbol;
|
| +import "dart:_collection-dev" as _symbol_dev show Symbol;
|
| import 'dart:_js_helper' show allMatchesInStringUnchecked,
|
| Null,
|
| JSSyntaxRegExp,
|
| @@ -30,6 +31,17 @@ part 'js_array.dart';
|
| part 'js_number.dart';
|
| part 'js_string.dart';
|
|
|
| +String _symbolToString(Symbol symbol) => _symbol_dev.Symbol.getName(symbol);
|
| +
|
| +_symbolMapToStringMap(Map<Symbol, dynamic> map) {
|
| + if (map == null) return null;
|
| + var result = new Map<String, dynamic>();
|
| + map.forEach((Symbol key, value) {
|
| + result[_symbolToString(key)] = value;
|
| + });
|
| + return result;
|
| +}
|
| +
|
| /**
|
| * Get the interceptor for [object]. Called by the compiler when it needs
|
| * to emit a call to an intercepted method, that is a method that is
|
| @@ -277,10 +289,11 @@ abstract class Interceptor {
|
| String toString() => Primitives.objectToString(this);
|
|
|
| dynamic noSuchMethod(Invocation invocation) {
|
| - throw new NoSuchMethodError(this,
|
| - invocation.memberName,
|
| - invocation.positionalArguments,
|
| - invocation.namedArguments);
|
| + throw new NoSuchMethodError(
|
| + this,
|
| + _symbolToString(invocation.memberName),
|
| + invocation.positionalArguments,
|
| + _symbolMapToStringMap(invocation.namedArguments));
|
| }
|
|
|
| Type get runtimeType => getRuntimeType(this);
|
|
|