| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |