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

Side by Side Diff: pkg/compiler/lib/src/common/backend_api.dart

Issue 2587913004: Move class/member computation from CodegenEnqueuer to CodegenWorldBuilder. (Closed)
Patch Set: Updated cf. comments Created 3 years, 12 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_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 library dart2js.backend_api; 5 library dart2js.backend_api;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common/codegen.dart' show CodegenImpact; 10 import '../common/codegen.dart' show CodegenImpact;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 144
145 /// Called to instruct to the backend register [type] as instantiated on 145 /// Called to instruct to the backend register [type] as instantiated on
146 /// [enqueuer]. 146 /// [enqueuer].
147 void registerInstantiatedType(InterfaceType type) {} 147 void registerInstantiatedType(InterfaceType type) {}
148 148
149 /// Register a runtime type variable bound tests between [typeArgument] and 149 /// Register a runtime type variable bound tests between [typeArgument] and
150 /// [bound]. 150 /// [bound].
151 void registerTypeVariableBoundsSubtypeCheck( 151 void registerTypeVariableBoundsSubtypeCheck(
152 DartType typeArgument, DartType bound) {} 152 DartType typeArgument, DartType bound) {}
153 153
154 /// Called to register that an instantiated generic class has a call method.
155 /// Any backend specific [WorldImpact] of this is returned.
156 ///
157 /// Note: The [callMethod] is registered even thought it doesn't reference
158 /// the type variables.
159 WorldImpact registerCallMethodWithFreeTypeVariables(Element callMethod,
160 {bool forResolution}) =>
161 const WorldImpact();
162
163 /// Called to instruct the backend to register that a closure exists for a 154 /// Called to instruct the backend to register that a closure exists for a
164 /// function on an instantiated generic class. Any backend specific 155 /// function on an instantiated generic class. Any backend specific
165 /// [WorldImpact] of this is returned. 156 /// [WorldImpact] of this is returned.
166 WorldImpact registerClosureWithFreeTypeVariables(Element closure, 157 WorldImpact registerClosureWithFreeTypeVariables(Element closure,
167 {bool forResolution}) => 158 {bool forResolution}) =>
168 const WorldImpact(); 159 const WorldImpact();
169 160
170 /// Called to register that a member has been closurized. Any backend specific 161 /// Called to register that a member has been closurized. Any backend specific
171 /// [WorldImpact] of this is returned. 162 /// [WorldImpact] of this is returned.
172 WorldImpact registerBoundClosure() => const WorldImpact(); 163 WorldImpact registerBoundClosure() => const WorldImpact();
173 164
174 /// Called to register that a static function has been closurized. Any backend 165 /// Called to register that a static function has been closurized. Any backend
175 /// specific [WorldImpact] of this is returned. 166 /// specific [WorldImpact] of this is returned.
176 WorldImpact registerGetOfStaticFunction() => const WorldImpact(); 167 WorldImpact registerGetOfStaticFunction() => const WorldImpact();
177 168
178 /// Called to enable support for `noSuchMethod`. Any backend specific
179 /// [WorldImpact] of this is returned.
180 WorldImpact enableNoSuchMethod() => const WorldImpact();
181
182 /// Returns whether or not `noSuchMethod` support has been enabled. 169 /// Returns whether or not `noSuchMethod` support has been enabled.
183 bool get enabledNoSuchMethod => false; 170 bool get enabledNoSuchMethod => false;
184 171
185 /// Called to enable support for isolates. Any backend specific [WorldImpact] 172 /// Called to enable support for isolates. Any backend specific [WorldImpact]
186 /// of this is returned. 173 /// of this is returned.
187 WorldImpact enableIsolateSupport({bool forResolution}); 174 WorldImpact enableIsolateSupport({bool forResolution});
188 175
189 void registerConstSymbol(String name) {} 176 void registerConstSymbol(String name) {}
190 177
191 ClassElement defaultSuperclass(ClassElement element) { 178 ClassElement defaultSuperclass(ClassElement element) {
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 ClassElement get asyncFutureImplementation; 406 ClassElement get asyncFutureImplementation;
420 ClassElement get asyncStarStreamImplementation; 407 ClassElement get asyncStarStreamImplementation;
421 ClassElement get indexableImplementation; 408 ClassElement get indexableImplementation;
422 ClassElement get mutableIndexableImplementation; 409 ClassElement get mutableIndexableImplementation;
423 ClassElement get indexingBehaviorImplementation; 410 ClassElement get indexingBehaviorImplementation;
424 411
425 bool isDefaultEqualityImplementation(Element element); 412 bool isDefaultEqualityImplementation(Element element);
426 bool isInterceptorClass(ClassElement cls); 413 bool isInterceptorClass(ClassElement cls);
427 bool isNative(Element element); 414 bool isNative(Element element);
428 } 415 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_backend/backend.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698