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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/compiler.dart

Issue 16042014: Implement operator== and hashCode for bound closures. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 6 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 part of dart2js; 5 part of dart2js;
6 6
7 /** 7 /**
8 * If true, print a warning for each method that was resolved, but not 8 * If true, print a warning for each method that was resolved, but not
9 * compiled. 9 * compiled.
10 */ 10 */
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 LibraryElement coreLibrary; 299 LibraryElement coreLibrary;
300 LibraryElement isolateLibrary; 300 LibraryElement isolateLibrary;
301 LibraryElement isolateHelperLibrary; 301 LibraryElement isolateHelperLibrary;
302 LibraryElement jsHelperLibrary; 302 LibraryElement jsHelperLibrary;
303 LibraryElement interceptorsLibrary; 303 LibraryElement interceptorsLibrary;
304 LibraryElement foreignLibrary; 304 LibraryElement foreignLibrary;
305 LibraryElement mainApp; 305 LibraryElement mainApp;
306 306
307 ClassElement objectClass; 307 ClassElement objectClass;
308 ClassElement closureClass; 308 ClassElement closureClass;
309 ClassElement boundClosureClass;
309 ClassElement dynamicClass; 310 ClassElement dynamicClass;
310 ClassElement boolClass; 311 ClassElement boolClass;
311 ClassElement numClass; 312 ClassElement numClass;
312 ClassElement intClass; 313 ClassElement intClass;
313 ClassElement doubleClass; 314 ClassElement doubleClass;
314 ClassElement stringClass; 315 ClassElement stringClass;
315 ClassElement functionClass; 316 ClassElement functionClass;
316 ClassElement nullClass; 317 ClassElement nullClass;
317 ClassElement listClass; 318 ClassElement listClass;
318 ClassElement typeClass; 319 ClassElement typeClass;
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 696
696 final List missingHelperClasses = []; 697 final List missingHelperClasses = [];
697 ClassElement lookupHelperClass(String name) { 698 ClassElement lookupHelperClass(String name) {
698 ClassElement result = jsHelperLibrary.find(new SourceString(name)); 699 ClassElement result = jsHelperLibrary.find(new SourceString(name));
699 if (result == null) { 700 if (result == null) {
700 missingHelperClasses.add(name); 701 missingHelperClasses.add(name);
701 } 702 }
702 return result; 703 return result;
703 } 704 }
704 jsInvocationMirrorClass = lookupHelperClass('JSInvocationMirror'); 705 jsInvocationMirrorClass = lookupHelperClass('JSInvocationMirror');
706 boundClosureClass = lookupHelperClass('BoundClosure');
705 closureClass = lookupHelperClass('Closure'); 707 closureClass = lookupHelperClass('Closure');
706 dynamicClass = lookupHelperClass('Dynamic_'); 708 dynamicClass = lookupHelperClass('Dynamic_');
707 nullClass = lookupHelperClass('Null'); 709 nullClass = lookupHelperClass('Null');
708 if (!missingHelperClasses.isEmpty) { 710 if (!missingHelperClasses.isEmpty) {
709 internalErrorOnElement(jsHelperLibrary, 711 internalErrorOnElement(jsHelperLibrary,
710 'dart:_js_helper library does not contain required classes: ' 712 'dart:_js_helper library does not contain required classes: '
711 '$missingHelperClasses'); 713 '$missingHelperClasses');
712 } 714 }
713 715
714 types = new Types(this, dynamicClass); 716 types = new Types(this, dynamicClass);
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
1332 1334
1333 void close() {} 1335 void close() {}
1334 1336
1335 toString() => name; 1337 toString() => name;
1336 1338
1337 /// Convenience method for getting an [api.CompilerOutputProvider]. 1339 /// Convenience method for getting an [api.CompilerOutputProvider].
1338 static NullSink outputProvider(String name, String extension) { 1340 static NullSink outputProvider(String name, String extension) {
1339 return new NullSink('$name.$extension'); 1341 return new NullSink('$name.$extension');
1340 } 1342 }
1341 } 1343 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/compiler/implementation/closure.dart ('k') | sdk/lib/_internal/compiler/implementation/enqueue.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698