| Index: pkg/dev_compiler/tool/input_sdk/patch/internal_patch.dart
|
| diff --git a/pkg/dev_compiler/tool/input_sdk/patch/internal_patch.dart b/pkg/dev_compiler/tool/input_sdk/patch/internal_patch.dart
|
| index 22f67d30ac9238390012b59fb44aaabf195557d1..d878d541b8407972fdb793cdb328521c7b6e934c 100644
|
| --- a/pkg/dev_compiler/tool/input_sdk/patch/internal_patch.dart
|
| +++ b/pkg/dev_compiler/tool/input_sdk/patch/internal_patch.dart
|
| @@ -11,11 +11,7 @@ import 'dart:_foreign_helper' show JS;
|
| class Symbol implements core.Symbol {
|
| @patch
|
| const Symbol(String name)
|
| - : this._name = name, this._nativeSymbol = null;
|
| -
|
| - @patch
|
| - const Symbol.es6(String name, dynamic nativeSymbol)
|
| - : this._name = name, this._nativeSymbol = nativeSymbol;
|
| + : this._name = name;
|
|
|
| @patch
|
| int get hashCode {
|
| @@ -26,6 +22,33 @@ class Symbol implements core.Symbol {
|
| JS('', '#._hashCode = #', this, hash);
|
| return hash;
|
| }
|
| +
|
| + @patch
|
| + toString() => 'Symbol("$_name")';
|
| +}
|
| +
|
| +/// Used internally by DDC to map ES6 symbols to Dart.
|
| +class PrivateSymbol implements core.Symbol {
|
| + // TODO(jmesserly): could also get this off the native symbol instead of
|
| + // storing it. Mirrors already does this conversion.
|
| + final String _name;
|
| + final Object _nativeSymbol;
|
| +
|
| + const PrivateSymbol(this._name, this._nativeSymbol);
|
| +
|
| + static String getName(core.Symbol symbol) =>
|
| + (symbol as PrivateSymbol)._name;
|
| +
|
| + static Object getNativeSymbol(core.Symbol symbol) {
|
| + if (symbol is PrivateSymbol) return symbol._nativeSymbol;
|
| + return null;
|
| + }
|
| +
|
| + bool operator ==(other) => other is PrivateSymbol &&
|
| + identical(_nativeSymbol, other._nativeSymbol);
|
| +
|
| + // TODO(jmesserly): is this equivalent to _nativeSymbol toString?
|
| + toString() => 'Symbol("$_name")';
|
| }
|
|
|
| @patch
|
|
|