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

Side by Side Diff: pkg/compiler/lib/src/kernel/element_map_impl.dart

Issue 2875313002: Access BackendUsage through ClosedWorld (Closed)
Patch Set: Created 3 years, 7 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
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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.kernel.element_map; 5 library dart2js.kernel.element_map;
6 6
7 import 'package:kernel/ast.dart' as ir; 7 import 'package:kernel/ast.dart' as ir;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common/names.dart' show Identifiers; 10 import '../common/names.dart' show Identifiers;
11 import '../common/resolution.dart'; 11 import '../common/resolution.dart';
12 import '../compile_time_constants.dart'; 12 import '../compile_time_constants.dart';
13 import '../constants/constant_system.dart'; 13 import '../constants/constant_system.dart';
14 import '../constants/constructors.dart'; 14 import '../constants/constructors.dart';
15 import '../constants/evaluation.dart'; 15 import '../constants/evaluation.dart';
16 import '../constants/expressions.dart'; 16 import '../constants/expressions.dart';
17 import '../constants/values.dart'; 17 import '../constants/values.dart';
18 import '../common_elements.dart'; 18 import '../common_elements.dart';
19 import '../elements/elements.dart'; 19 import '../elements/elements.dart';
20 import '../elements/entities.dart'; 20 import '../elements/entities.dart';
21 import '../elements/names.dart'; 21 import '../elements/names.dart';
22 import '../elements/types.dart'; 22 import '../elements/types.dart';
23 import '../environment.dart'; 23 import '../environment.dart';
24 import '../frontend_strategy.dart'; 24 import '../frontend_strategy.dart';
25 import '../js_backend/backend_usage.dart';
25 import '../js_backend/constant_system_javascript.dart'; 26 import '../js_backend/constant_system_javascript.dart';
26 import '../js_backend/interceptor_data.dart'; 27 import '../js_backend/interceptor_data.dart';
27 import '../js_backend/native_data.dart'; 28 import '../js_backend/native_data.dart';
28 import '../js_backend/no_such_method_registry.dart'; 29 import '../js_backend/no_such_method_registry.dart';
29 import '../native/native.dart' as native; 30 import '../native/native.dart' as native;
30 import '../native/resolver.dart'; 31 import '../native/resolver.dart';
31 import '../ordered_typeset.dart'; 32 import '../ordered_typeset.dart';
32 import '../ssa/kernel_impact.dart'; 33 import '../ssa/kernel_impact.dart';
33 import '../universe/call_structure.dart'; 34 import '../universe/call_structure.dart';
34 import '../universe/world_builder.dart'; 35 import '../universe/world_builder.dart';
(...skipping 1208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1243 } 1244 }
1244 1245
1245 class KernelResolutionWorldBuilder extends KernelResolutionWorldBuilderBase { 1246 class KernelResolutionWorldBuilder extends KernelResolutionWorldBuilderBase {
1246 final KernelToElementMapImpl elementMap; 1247 final KernelToElementMapImpl elementMap;
1247 1248
1248 KernelResolutionWorldBuilder( 1249 KernelResolutionWorldBuilder(
1249 this.elementMap, 1250 this.elementMap,
1250 NativeBasicData nativeBasicData, 1251 NativeBasicData nativeBasicData,
1251 NativeDataBuilder nativeDataBuilder, 1252 NativeDataBuilder nativeDataBuilder,
1252 InterceptorDataBuilder interceptorDataBuilder, 1253 InterceptorDataBuilder interceptorDataBuilder,
1254 BackendUsageBuilder backendUsageBuilder,
1253 SelectorConstraintsStrategy selectorConstraintsStrategy) 1255 SelectorConstraintsStrategy selectorConstraintsStrategy)
1254 : super( 1256 : super(
1255 elementMap.elementEnvironment, 1257 elementMap.elementEnvironment,
1256 elementMap.commonElements, 1258 elementMap.commonElements,
1257 nativeBasicData, 1259 nativeBasicData,
1258 nativeDataBuilder, 1260 nativeDataBuilder,
1259 interceptorDataBuilder, 1261 interceptorDataBuilder,
1262 backendUsageBuilder,
1260 selectorConstraintsStrategy); 1263 selectorConstraintsStrategy);
1261 1264
1262 @override 1265 @override
1263 Iterable<InterfaceType> getSupertypes(ClassEntity cls) { 1266 Iterable<InterfaceType> getSupertypes(ClassEntity cls) {
1264 return elementMap._getOrderedTypeSet(cls).supertypes; 1267 return elementMap._getOrderedTypeSet(cls).supertypes;
1265 } 1268 }
1266 1269
1267 @override 1270 @override
1268 ClassEntity getSuperClass(ClassEntity cls) { 1271 ClassEntity getSuperClass(ClassEntity cls) {
1269 return elementMap._getSuperType(cls)?.element; 1272 return elementMap._getSuperType(cls)?.element;
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1361 return node.isExternal && 1364 return node.isExternal &&
1362 !elementMap.isForeignLibrary(node.enclosingLibrary); 1365 !elementMap.isForeignLibrary(node.enclosingLibrary);
1363 } 1366 }
1364 1367
1365 @override 1368 @override
1366 bool isJsInteropMember(MemberEntity element) { 1369 bool isJsInteropMember(MemberEntity element) {
1367 // TODO(johnniwinther): Compute this. 1370 // TODO(johnniwinther): Compute this.
1368 return false; 1371 return false;
1369 } 1372 }
1370 } 1373 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart ('k') | pkg/compiler/lib/src/kernel/kernel_strategy.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698