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

Side by Side Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 1069983005: Model 'await for' as an explicit node in tree and fix its handling. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix failing assertion rebase Created 5 years, 8 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 js_backend; 5 part of js_backend;
6 6
7 const VERBOSE_OPTIMIZER_HINTS = false; 7 const VERBOSE_OPTIMIZER_HINTS = false;
8 8
9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR"); 9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR");
10 10
(...skipping 2662 matching lines...) Expand 10 before | Expand all | Expand 10 after
2673 void registerBackendInstantiation(ClassElement element, Registry registry) { 2673 void registerBackendInstantiation(ClassElement element, Registry registry) {
2674 backend.registerBackendUse(element); 2674 backend.registerBackendUse(element);
2675 element.ensureResolved(backend.compiler); 2675 element.ensureResolved(backend.compiler);
2676 registry.registerInstantiation(element.rawType); 2676 registry.registerInstantiation(element.rawType);
2677 } 2677 }
2678 2678
2679 void onAssert(Send node, Registry registry) { 2679 void onAssert(Send node, Registry registry) {
2680 registerBackendStaticInvocation(backend.assertMethod, registry); 2680 registerBackendStaticInvocation(backend.assertMethod, registry);
2681 } 2681 }
2682 2682
2683 void onAsyncForIn(AsyncForIn node, Registry registry) {
2684 registerBackendStaticInvocation(backend.getStreamIteratorConstructor(),
2685 registry);
2686 }
2687
2683 void onStringInterpolation(Registry registry) { 2688 void onStringInterpolation(Registry registry) {
2684 assert(registry.isForResolution); 2689 assert(registry.isForResolution);
2685 registerBackendStaticInvocation( 2690 registerBackendStaticInvocation(
2686 backend.getStringInterpolationHelper(), registry); 2691 backend.getStringInterpolationHelper(), registry);
2687 } 2692 }
2688 2693
2689 void onCatchStatement(Registry registry) { 2694 void onCatchStatement(Registry registry) {
2690 assert(registry.isForResolution); 2695 assert(registry.isForResolution);
2691 registerBackendStaticInvocation(backend.getExceptionUnwrapper(), registry); 2696 registerBackendStaticInvocation(backend.getExceptionUnwrapper(), registry);
2692 registerBackendInstantiation( 2697 registerBackendInstantiation(
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
2864 } 2869 }
2865 } 2870 }
2866 2871
2867 /// Records that [constant] is used by the element behind [registry]. 2872 /// Records that [constant] is used by the element behind [registry].
2868 class Dependency { 2873 class Dependency {
2869 final ConstantValue constant; 2874 final ConstantValue constant;
2870 final Element annotatedElement; 2875 final Element annotatedElement;
2871 2876
2872 const Dependency(this.constant, this.annotatedElement); 2877 const Dependency(this.constant, this.annotatedElement);
2873 } 2878 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/inferrer/type_graph_nodes.dart ('k') | pkg/compiler/lib/src/resolution/members.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698