| 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.resolution_strategy; | 5 library dart2js.resolution_strategy; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common_elements.dart'; | 8 import '../common_elements.dart'; |
| 9 import '../common/backend_api.dart'; | 9 import '../common/backend_api.dart'; |
| 10 import '../common/names.dart'; | 10 import '../common/names.dart'; |
| 11 import '../common/resolution.dart'; | 11 import '../common/resolution.dart'; |
| 12 import '../common/tasks.dart'; | 12 import '../common/tasks.dart'; |
| 13 import '../common/work.dart'; |
| 13 import '../compiler.dart'; | 14 import '../compiler.dart'; |
| 14 import '../constants/values.dart'; | 15 import '../constants/values.dart'; |
| 15 import '../elements/elements.dart'; | 16 import '../elements/elements.dart'; |
| 16 import '../elements/entities.dart'; | 17 import '../elements/entities.dart'; |
| 17 import '../elements/modelx.dart'; | 18 import '../elements/modelx.dart'; |
| 18 import '../elements/resolution_types.dart'; | 19 import '../elements/resolution_types.dart'; |
| 19 import '../environment.dart'; | 20 import '../environment.dart'; |
| 20 import '../enqueue.dart'; | 21 import '../enqueue.dart'; |
| 21 import '../frontend_strategy.dart'; | 22 import '../frontend_strategy.dart'; |
| 22 import '../js_backend/backend.dart'; | 23 import '../js_backend/backend.dart'; |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 } | 636 } |
| 636 } | 637 } |
| 637 }); | 638 }); |
| 638 }); | 639 }); |
| 639 } | 640 } |
| 640 | 641 |
| 641 _compiler.libraryLoader.libraries | 642 _compiler.libraryLoader.libraries |
| 642 .forEach(processJsInteropAnnotationsInLibrary); | 643 .forEach(processJsInteropAnnotationsInLibrary); |
| 643 } | 644 } |
| 644 } | 645 } |
| 646 |
| 647 /// Builder that creates work item necessary for the resolution of a |
| 648 /// [MemberElement]. |
| 649 class ResolutionWorkItemBuilder extends WorkItemBuilder { |
| 650 final Resolution _resolution; |
| 651 |
| 652 ResolutionWorkItemBuilder(this._resolution); |
| 653 |
| 654 @override |
| 655 WorkItem createWorkItem(MemberElement element) { |
| 656 assert(invariant(element, element.isDeclaration)); |
| 657 if (element.isMalformed) return null; |
| 658 |
| 659 assert(invariant(element, element is AnalyzableElement, |
| 660 message: 'Element $element is not analyzable.')); |
| 661 return _resolution.createWorkItem(element); |
| 662 } |
| 663 } |
| OLD | NEW |