Index: sdk/lib/_internal/lib/js_names.dart |
diff --git a/sdk/lib/_internal/lib/js_names.dart b/sdk/lib/_internal/lib/js_names.dart |
deleted file mode 100644 |
index 387265e5d6b38e7cb7395a48391e949e3f97a694..0000000000000000000000000000000000000000 |
--- a/sdk/lib/_internal/lib/js_names.dart |
+++ /dev/null |
@@ -1,106 +0,0 @@ |
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-library dart._js_names; |
- |
-import 'dart:_foreign_helper' show |
- JS, |
- JS_GET_NAME; |
- |
-import 'dart:_js_helper' show |
- JsCache, |
- NoInline; |
- |
-import 'dart:_interceptors' show JSArray; |
- |
-/// No-op method that is called to inform the compiler that unmangled named |
-/// must be preserved. |
-preserveNames() {} |
- |
-/// A map from mangled names to "reflective" names, that is, unmangled names |
-/// with some additional information, such as, number of required arguments. |
-/// This map is for mangled names used as instance members. |
-final Map<String, String> mangledNames = |
- computeMangledNames(JS('=Object', 'init.mangledNames'), false); |
- |
-/// A map from "reflective" names to mangled names (the reverse of |
-/// [mangledNames]). |
-final Map<String, String> reflectiveNames = |
- computeReflectiveNames(mangledNames); |
- |
-/// A map from mangled names to "reflective" names (see [mangledNames]). This |
-/// map is for globals, that is, static and top-level members. |
-final Map<String, String> mangledGlobalNames = |
- computeMangledNames(JS('=Object', 'init.mangledGlobalNames'), true); |
- |
-/// A map from "reflective" names to mangled names (the reverse of |
-/// [mangledGlobalNames]). |
-final Map<String, String> reflectiveGlobalNames = |
- computeReflectiveNames(mangledGlobalNames); |
- |
-/// [jsMangledNames] is a JavaScript object literal. The keys are the mangled |
-/// names, and the values are the "reflective" names. |
-Map<String, String> computeMangledNames(jsMangledNames, bool isGlobal) { |
- preserveNames(); |
- var keys = extractKeys(jsMangledNames); |
- var result = <String, String>{}; |
- String getterPrefix = JS_GET_NAME('GETTER_PREFIX'); |
- int getterPrefixLength = getterPrefix.length; |
- String setterPrefix = JS_GET_NAME('SETTER_PREFIX'); |
- for (String key in keys) { |
- String value = JS('String', '#[#]', jsMangledNames, key); |
- result[key] = value; |
- if (!isGlobal) { |
- if (key.startsWith(getterPrefix)) { |
- result['$setterPrefix${key.substring(getterPrefixLength)}'] = '$value='; |
- } |
- } |
- } |
- return result; |
-} |
- |
-Map<String, String> computeReflectiveNames(Map<String, String> map) { |
- preserveNames(); |
- var result = <String, String>{}; |
- map.forEach((String mangledName, String reflectiveName) { |
- result[reflectiveName] = mangledName; |
- }); |
- return result; |
-} |
- |
-@NoInline() |
-List extractKeys(victim) { |
- var result = JS('', ''' |
-(function(victim, hasOwnProperty) { |
- var result = []; |
- for (var key in victim) { |
- if (hasOwnProperty.call(victim, key)) result.push(key); |
- } |
- return result; |
-})(#, Object.prototype.hasOwnProperty)''', victim); |
- return new JSArray.markFixed(result); |
-} |
- |
-/** |
- * Returns the (global) unmangled version of [name]. |
- * |
- * Normally, you should use [mangledGlobalNames] directly, but this method |
- * doesn't tell the compiler to preserve names. So this method only returns a |
- * non-null value if some other component has made the compiler preserve names. |
- * |
- * This is used, for example, to return unmangled names from TypeImpl.toString |
- * *if* names are being preserved for other reasons (use of dart:mirrors, for |
- * example). |
- */ |
-String unmangleGlobalNameIfPreservedAnyways(String name) { |
- var names = JS('=Object', 'init.mangledGlobalNames'); |
- return JsCache.fetch(names, name); |
-} |
- |
-String unmangleAllIdentifiersIfPreservedAnyways(String str) { |
- return JS("String", |
- r"(#).replace(/[^<,> ]+/g," |
- r"function(m) { return init.mangledGlobalNames[m] || m; })", |
- str); |
-} |