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 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 Loading... |
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 Loading... |
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 } |
OLD | NEW |