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

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

Issue 12211112: Start work on a non-complete type inferrer. Currently only analyzes return types. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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
« no previous file with comments | « no previous file | sdk/lib/_internal/compiler/implementation/dart_backend/backend.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 libraries.forEach((_, lib) => fullyEnqueueLibrary(lib)); 643 libraries.forEach((_, lib) => fullyEnqueueLibrary(lib));
644 } 644 }
645 backend.enqueueHelpers(enqueuer.resolution); 645 backend.enqueueHelpers(enqueuer.resolution);
646 processQueue(enqueuer.resolution, main); 646 processQueue(enqueuer.resolution, main);
647 enqueuer.resolution.logSummary(log); 647 enqueuer.resolution.logSummary(log);
648 648
649 if (compilationFailed) return; 649 if (compilationFailed) return;
650 if (analyzeOnly) return; 650 if (analyzeOnly) return;
651 assert(main != null); 651 assert(main != null);
652 652
653 log('Inferring types...');
654 typesTask.onResolutionComplete(main);
655
656 // TODO(ahe): Remove this line. Eventually, enqueuer.resolution 653 // TODO(ahe): Remove this line. Eventually, enqueuer.resolution
657 // should know this. 654 // should know this.
658 world.populate(); 655 world.populate();
659 656
657 log('Inferring types...');
658 typesTask.onResolutionComplete(main);
659
660 log('Compiling...'); 660 log('Compiling...');
661 phase = PHASE_COMPILING; 661 phase = PHASE_COMPILING;
662 // TODO(johnniwinther): Move these to [CodegenEnqueuer]. 662 // TODO(johnniwinther): Move these to [CodegenEnqueuer].
663 if (hasIsolateSupport()) { 663 if (hasIsolateSupport()) {
664 enqueuer.codegen.addToWorkList( 664 enqueuer.codegen.addToWorkList(
665 isolateHelperLibrary.find(Compiler.START_ROOT_ISOLATE)); 665 isolateHelperLibrary.find(Compiler.START_ROOT_ISOLATE));
666 } 666 }
667 if (enabledNoSuchMethod) { 667 if (enabledNoSuchMethod) {
668 Selector selector = new Selector.noSuchMethod(); 668 Selector selector = new Selector.noSuchMethod();
669 enqueuer.codegen.registerInvocation(NO_SUCH_METHOD, selector); 669 enqueuer.codegen.registerInvocation(NO_SUCH_METHOD, selector);
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 1124
1125 void close() {} 1125 void close() {}
1126 1126
1127 toString() => name; 1127 toString() => name;
1128 1128
1129 /// Convenience method for getting an [api.CompilerOutputProvider]. 1129 /// Convenience method for getting an [api.CompilerOutputProvider].
1130 static NullSink outputProvider(String name, String extension) { 1130 static NullSink outputProvider(String name, String extension) {
1131 return new NullSink('$name.$extension'); 1131 return new NullSink('$name.$extension');
1132 } 1132 }
1133 } 1133 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/_internal/compiler/implementation/dart_backend/backend.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698