| OLD | NEW |
| 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 import 'package:kernel/clone.dart'; | 8 import 'package:kernel/clone.dart'; |
| 9 import 'package:kernel/type_algebra.dart'; | 9 import 'package:kernel/type_algebra.dart'; |
| 10 | 10 |
| (...skipping 1304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1315 return const VoidType(); | 1315 return const VoidType(); |
| 1316 } | 1316 } |
| 1317 | 1317 |
| 1318 @override | 1318 @override |
| 1319 DartType visitDynamicType(ir.DynamicType node) { | 1319 DartType visitDynamicType(ir.DynamicType node) { |
| 1320 return const DynamicType(); | 1320 return const DynamicType(); |
| 1321 } | 1321 } |
| 1322 | 1322 |
| 1323 @override | 1323 @override |
| 1324 DartType visitInvalidType(ir.InvalidType node) { | 1324 DartType visitInvalidType(ir.InvalidType node) { |
| 1325 if (topLevel) { | 1325 // Root uses such a `o is Unresolved` and `o as Unresolved` must be special |
| 1326 throw new UnimplementedError( | 1326 // cased in the builder, nested invalid types are treated as `dynamic`. |
| 1327 "Outermost invalid types not currently supported"); | |
| 1328 } | |
| 1329 // Nested invalid types are treated as `dynamic`. | |
| 1330 return const DynamicType(); | 1327 return const DynamicType(); |
| 1331 } | 1328 } |
| 1332 } | 1329 } |
| 1333 | 1330 |
| 1334 /// [native.BehaviorBuilder] for kernel based elements. | 1331 /// [native.BehaviorBuilder] for kernel based elements. |
| 1335 class KernelBehaviorBuilder extends native.BehaviorBuilder { | 1332 class KernelBehaviorBuilder extends native.BehaviorBuilder { |
| 1336 final CommonElements commonElements; | 1333 final CommonElements commonElements; |
| 1337 | 1334 |
| 1338 KernelBehaviorBuilder(this.commonElements); | 1335 KernelBehaviorBuilder(this.commonElements); |
| 1339 | 1336 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1428 KernelResolutionWorldBuilder( | 1425 KernelResolutionWorldBuilder( |
| 1429 this.elementMap, | 1426 this.elementMap, |
| 1430 NativeBasicData nativeBasicData, | 1427 NativeBasicData nativeBasicData, |
| 1431 NativeDataBuilder nativeDataBuilder, | 1428 NativeDataBuilder nativeDataBuilder, |
| 1432 InterceptorDataBuilder interceptorDataBuilder, | 1429 InterceptorDataBuilder interceptorDataBuilder, |
| 1433 BackendUsageBuilder backendUsageBuilder, | 1430 BackendUsageBuilder backendUsageBuilder, |
| 1434 SelectorConstraintsStrategy selectorConstraintsStrategy) | 1431 SelectorConstraintsStrategy selectorConstraintsStrategy) |
| 1435 : super( | 1432 : super( |
| 1436 elementMap.elementEnvironment, | 1433 elementMap.elementEnvironment, |
| 1437 elementMap.commonElements, | 1434 elementMap.commonElements, |
| 1435 elementMap._constantEnvironment.constantSystem, |
| 1438 nativeBasicData, | 1436 nativeBasicData, |
| 1439 nativeDataBuilder, | 1437 nativeDataBuilder, |
| 1440 interceptorDataBuilder, | 1438 interceptorDataBuilder, |
| 1441 backendUsageBuilder, | 1439 backendUsageBuilder, |
| 1442 selectorConstraintsStrategy); | 1440 selectorConstraintsStrategy); |
| 1443 | 1441 |
| 1444 @override | 1442 @override |
| 1445 Iterable<InterfaceType> getSupertypes(ClassEntity cls) { | 1443 Iterable<InterfaceType> getSupertypes(ClassEntity cls) { |
| 1446 return elementMap._getOrderedTypeSet(cls).supertypes; | 1444 return elementMap._getOrderedTypeSet(cls).supertypes; |
| 1447 } | 1445 } |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1544 return node.isExternal && | 1542 return node.isExternal && |
| 1545 !elementMap.isForeignLibrary(node.enclosingLibrary); | 1543 !elementMap.isForeignLibrary(node.enclosingLibrary); |
| 1546 } | 1544 } |
| 1547 | 1545 |
| 1548 @override | 1546 @override |
| 1549 bool isJsInteropMember(MemberEntity element) { | 1547 bool isJsInteropMember(MemberEntity element) { |
| 1550 // TODO(johnniwinther): Compute this. | 1548 // TODO(johnniwinther): Compute this. |
| 1551 return false; | 1549 return false; |
| 1552 } | 1550 } |
| 1553 } | 1551 } |
| OLD | NEW |