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 part of world_builder; | 5 part of world_builder; |
6 | 6 |
7 /// World builder specific to codegen. | 7 /// World builder specific to codegen. |
8 /// | 8 /// |
9 /// This adds additional access to liveness of selectors and elements. | 9 /// This adds additional access to liveness of selectors and elements. |
10 abstract class CodegenWorldBuilder implements WorldBuilder { | 10 abstract class CodegenWorldBuilder implements WorldBuilder { |
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
620 void registerIsCheck(ResolutionDartType type) { | 620 void registerIsCheck(ResolutionDartType type) { |
621 // Even in checked mode, type annotations for return type and argument | 621 // Even in checked mode, type annotations for return type and argument |
622 // types do not imply type checks, so there should never be a check | 622 // types do not imply type checks, so there should never be a check |
623 // against the type variable of a typedef. | 623 // against the type variable of a typedef. |
624 assert(!type.isTypeVariable || !type.element.enclosingElement.isTypedef); | 624 assert(!type.isTypeVariable || !type.element.enclosingElement.isTypedef); |
625 super.registerIsCheck(type); | 625 super.registerIsCheck(type); |
626 } | 626 } |
627 } | 627 } |
628 | 628 |
629 class KernelCodegenWorldBuilder extends CodegenWorldBuilderImpl { | 629 class KernelCodegenWorldBuilder extends CodegenWorldBuilderImpl { |
630 KernelToElementMapImpl _elementMap; | 630 KernelToWorldBuilder _elementMap; |
631 | 631 |
632 KernelCodegenWorldBuilder( | 632 KernelCodegenWorldBuilder( |
633 this._elementMap, | 633 this._elementMap, |
634 ElementEnvironment elementEnvironment, | 634 ElementEnvironment elementEnvironment, |
635 NativeBasicData nativeBasicData, | 635 NativeBasicData nativeBasicData, |
636 ClosedWorld world, | 636 ClosedWorld world, |
637 SelectorConstraintsStrategy selectorConstraintsStrategy) | 637 SelectorConstraintsStrategy selectorConstraintsStrategy) |
638 : super(elementEnvironment, nativeBasicData, world, | 638 : super(elementEnvironment, nativeBasicData, world, |
639 selectorConstraintsStrategy); | 639 selectorConstraintsStrategy); |
640 | 640 |
(...skipping 15 matching lines...) Expand all Loading... |
656 | 656 |
657 @override | 657 @override |
658 void forEachInstanceField( | 658 void forEachInstanceField( |
659 ClassEntity cls, void f(ClassEntity declarer, FieldEntity field)) { | 659 ClassEntity cls, void f(ClassEntity declarer, FieldEntity field)) { |
660 _elementEnvironment.forEachClassMember(cls, | 660 _elementEnvironment.forEachClassMember(cls, |
661 (ClassEntity declarer, MemberEntity member) { | 661 (ClassEntity declarer, MemberEntity member) { |
662 if (member.isField && member.isInstanceMember) f(declarer, member); | 662 if (member.isField && member.isInstanceMember) f(declarer, member); |
663 }); | 663 }); |
664 } | 664 } |
665 } | 665 } |
OLD | NEW |