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

Side by Side Diff: dart/lib/compiler/implementation/ssa/js_names.dart

Issue 10876008: Remove most superfluous getter arguments from dart2js. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 4 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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 class JsNames { 5 class JsNames {
6 static final javaScriptKeywords = const <String>[ 6 static final javaScriptKeywords = const <String>[
7 // These are current keywords 7 // These are current keywords
8 "break", "delete", "function", "return", "typeof", "case", "do", "if", 8 "break", "delete", "function", "return", "typeof", "case", "do", "if",
9 "switch", "var", "catch", "else", "in", "this", "void", "continue", 9 "switch", "var", "catch", "else", "in", "this", "void", "continue",
10 "false", "instanceof", "throw", "while", "debugger", "finally", "new", 10 "false", "instanceof", "throw", "while", "debugger", "finally", "new",
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 148
149 // TODO: prove why this is necessary or remove it 149 // TODO: prove why this is necessary or remove it
150 "call" 150 "call"
151 ]; 151 ];
152 152
153 static final reservedPropertySymbols = 153 static final reservedPropertySymbols =
154 const <String>["__PROTO__", "prototype", "constructor"]; 154 const <String>["__PROTO__", "prototype", "constructor"];
155 155
156 static Set<String> _reserved; 156 static Set<String> _reserved;
157 157
158 static Set<String> get reserved() { 158 static Set<String> get reserved {
159 if (_reserved === null) { 159 if (_reserved === null) {
160 _reserved = new Set<String>(); 160 _reserved = new Set<String>();
161 _reserved.addAll(reservedPropertySymbols); 161 _reserved.addAll(reservedPropertySymbols);
162 _reserved.addAll(reservedGlobalSymbols); 162 _reserved.addAll(reservedGlobalSymbols);
163 _reserved.addAll(javaScriptKeywords); 163 _reserved.addAll(javaScriptKeywords);
164 } 164 }
165 return _reserved; 165 return _reserved;
166 } 166 }
167 167
168 // TODO(ngeoffray): only the namer should call this method. 168 // TODO(ngeoffray): only the namer should call this method.
169 // Eventually move it there. 169 // Eventually move it there.
170 /* 170 /*
171 * Returns a name that does not clash with reserved JS keywords, 171 * Returns a name that does not clash with reserved JS keywords,
172 * and also ensures it won't clash with other identifiers. 172 * and also ensures it won't clash with other identifiers.
173 */ 173 */
174 static String getValid(String name) { 174 static String getValid(String name) {
175 if (reserved.contains(name)) { 175 if (reserved.contains(name)) {
176 name = '$name\$'; 176 name = '$name\$';
177 assert(!reserved.contains(name)); 177 assert(!reserved.contains(name));
178 } else if (name.contains(@'$')) { 178 } else if (name.contains(@'$')) {
179 name = name.replaceAll(@'$', @'$$'); 179 name = name.replaceAll(@'$', @'$$');
180 } 180 }
181 return name; 181 return name;
182 } 182 }
183 } 183 }
OLDNEW
« no previous file with comments | « dart/lib/compiler/implementation/ssa/codegen.dart ('k') | dart/lib/compiler/implementation/ssa/nodes.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698