Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: sdk/lib/_internal/compiler/js_lib/js_names.dart

Issue 955923002: Reapply "Use an enum in embedded_names as input to JS_GET_NAME." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dart._js_names; 5 library dart._js_names;
6 6
7 import 'dart:_js_embedded_names' show 7 import 'dart:_js_embedded_names' show
8 JsGetName,
8 MANGLED_GLOBAL_NAMES, 9 MANGLED_GLOBAL_NAMES,
9 MANGLED_NAMES; 10 MANGLED_NAMES;
10 11
11 import 'dart:_foreign_helper' show 12 import 'dart:_foreign_helper' show
12 JS, 13 JS,
13 JS_EMBEDDED_GLOBAL, 14 JS_EMBEDDED_GLOBAL,
14 JS_GET_NAME; 15 JS_GET_NAME;
15 16
16 import 'dart:_js_helper' show 17 import 'dart:_js_helper' show
17 JsCache, 18 JsCache,
(...skipping 28 matching lines...) Expand all
46 /// [mangledGlobalNames]). 47 /// [mangledGlobalNames]).
47 final Map<String, String> reflectiveGlobalNames = 48 final Map<String, String> reflectiveGlobalNames =
48 computeReflectiveNames(mangledGlobalNames); 49 computeReflectiveNames(mangledGlobalNames);
49 50
50 /// [jsMangledNames] is a JavaScript object literal. The keys are the mangled 51 /// [jsMangledNames] is a JavaScript object literal. The keys are the mangled
51 /// names, and the values are the "reflective" names. 52 /// names, and the values are the "reflective" names.
52 Map<String, String> computeMangledNames(jsMangledNames, bool isGlobal) { 53 Map<String, String> computeMangledNames(jsMangledNames, bool isGlobal) {
53 preserveNames(); 54 preserveNames();
54 var keys = extractKeys(jsMangledNames); 55 var keys = extractKeys(jsMangledNames);
55 var result = <String, String>{}; 56 var result = <String, String>{};
56 String getterPrefix = JS_GET_NAME('GETTER_PREFIX'); 57 String getterPrefix = JS_GET_NAME(JsGetName.GETTER_PREFIX);
57 int getterPrefixLength = getterPrefix.length; 58 int getterPrefixLength = getterPrefix.length;
58 String setterPrefix = JS_GET_NAME('SETTER_PREFIX'); 59 String setterPrefix = JS_GET_NAME(JsGetName.SETTER_PREFIX);
59 for (String key in keys) { 60 for (String key in keys) {
60 String value = JS('String', '#[#]', jsMangledNames, key); 61 String value = JS('String', '#[#]', jsMangledNames, key);
61 result[key] = value; 62 result[key] = value;
62 if (!isGlobal) { 63 if (!isGlobal) {
63 if (key.startsWith(getterPrefix)) { 64 if (key.startsWith(getterPrefix)) {
64 result['$setterPrefix${key.substring(getterPrefixLength)}'] = '$value='; 65 result['$setterPrefix${key.substring(getterPrefixLength)}'] = '$value=';
65 } 66 }
66 } 67 }
67 } 68 }
68 return result; 69 return result;
(...skipping 30 matching lines...) Expand all
99 return JsCache.fetch(names, name); 100 return JsCache.fetch(names, name);
100 } 101 }
101 102
102 String unmangleAllIdentifiersIfPreservedAnyways(String str) { 103 String unmangleAllIdentifiersIfPreservedAnyways(String str) {
103 return JS("String", 104 return JS("String",
104 r"(#).replace(/[^<,> ]+/g," 105 r"(#).replace(/[^<,> ]+/g,"
105 r"function(m) { return #[m] || m; })", 106 r"function(m) { return #[m] || m; })",
106 str, 107 str,
107 JS_EMBEDDED_GLOBAL('', MANGLED_GLOBAL_NAMES)); 108 JS_EMBEDDED_GLOBAL('', MANGLED_GLOBAL_NAMES));
108 } 109 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/compiler/js_lib/js_mirrors.dart ('k') | sdk/lib/_internal/compiler/js_lib/shared/embedded_names.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698