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

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

Issue 2992863002: Support forEachClassMember on closure classes (Closed)
Patch Set: Created 3 years, 4 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 abstract class ResolutionWorldBuilder implements WorldBuilder, OpenWorld { 7 abstract class ResolutionWorldBuilder implements WorldBuilder, OpenWorld {
8 /// Set of all local functions in the program. Used by the mirror tracking 8 /// Set of all local functions in the program. Used by the mirror tracking
9 /// system to find all live closure instances. 9 /// system to find all live closure instances.
10 Iterable<Local> get localFunctions; 10 Iterable<Local> get localFunctions;
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 case StaticUseKind.DIRECT_USE: 641 case StaticUseKind.DIRECT_USE:
642 case StaticUseKind.CONSTRUCTOR_INVOKE: 642 case StaticUseKind.CONSTRUCTOR_INVOKE:
643 case StaticUseKind.CONST_CONSTRUCTOR_INVOKE: 643 case StaticUseKind.CONST_CONSTRUCTOR_INVOKE:
644 case StaticUseKind.REDIRECTION: 644 case StaticUseKind.REDIRECTION:
645 useSet.addAll(usage.normalUse()); 645 useSet.addAll(usage.normalUse());
646 break; 646 break;
647 case StaticUseKind.DIRECT_INVOKE: 647 case StaticUseKind.DIRECT_INVOKE:
648 failedAt(element, 'Direct static use is not supported for resolution.'); 648 failedAt(element, 'Direct static use is not supported for resolution.');
649 break; 649 break;
650 case StaticUseKind.INLINING: 650 case StaticUseKind.INLINING:
651 case StaticUseKind.CALL_METHOD:
651 failedAt(CURRENT_ELEMENT_SPANNABLE, 652 failedAt(CURRENT_ELEMENT_SPANNABLE,
652 "Static use ${staticUse.kind} is not supported during resolution."); 653 "Static use ${staticUse.kind} is not supported during resolution.");
653 } 654 }
654 if (useSet.isNotEmpty) { 655 if (useSet.isNotEmpty) {
655 memberUsed(usage.entity, useSet); 656 memberUsed(usage.entity, useSet);
656 } 657 }
657 } 658 }
658 659
659 /// Called to create a [_ClassUsage] for [cls]. 660 /// Called to create a [_ClassUsage] for [cls].
660 /// 661 ///
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 typesImplementedBySubclasses: typesImplementedBySubclasses, 1008 typesImplementedBySubclasses: typesImplementedBySubclasses,
1008 classHierarchyNodes: _classHierarchyNodes, 1009 classHierarchyNodes: _classHierarchyNodes,
1009 classSets: _classSets); 1010 classSets: _classSets);
1010 } 1011 }
1011 1012
1012 @override 1013 @override
1013 void registerClass(ClassEntity cls) { 1014 void registerClass(ClassEntity cls) {
1014 throw new UnimplementedError('KernelResolutionWorldBuilder.registerClass'); 1015 throw new UnimplementedError('KernelResolutionWorldBuilder.registerClass');
1015 } 1016 }
1016 } 1017 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698