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

Side by Side Diff: pkg/compiler/lib/src/universe/codegen_world_builder.dart

Issue 2938203003: Compute KernelClosureRepresentationInfo.variableIsUsedInTryOrSync (Closed)
Patch Set: Merge KernelClosureConversionTask and KernelClosureDataLookup Created 3 years, 6 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 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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698