| Index: pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/resolution_strategy.dart b/pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| index 7c87d62d8076d69865289ac71fd1be40c3dddcbb..7662e8130d08520b06262f58b5cf21b632713845 100644
|
| --- a/pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| +++ b/pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| @@ -10,6 +10,7 @@ import '../common/backend_api.dart';
|
| import '../common/names.dart';
|
| import '../common/resolution.dart';
|
| import '../common/tasks.dart';
|
| +import '../common/work.dart';
|
| import '../compiler.dart';
|
| import '../constants/values.dart';
|
| import '../elements/elements.dart';
|
| @@ -642,3 +643,21 @@ class _ElementAnnotationProcessor implements AnnotationProcessor {
|
| .forEach(processJsInteropAnnotationsInLibrary);
|
| }
|
| }
|
| +
|
| +/// Builder that creates work item necessary for the resolution of a
|
| +/// [MemberElement].
|
| +class ResolutionWorkItemBuilder extends WorkItemBuilder {
|
| + final Resolution _resolution;
|
| +
|
| + ResolutionWorkItemBuilder(this._resolution);
|
| +
|
| + @override
|
| + WorkItem createWorkItem(MemberElement element) {
|
| + assert(invariant(element, element.isDeclaration));
|
| + if (element.isMalformed) return null;
|
| +
|
| + assert(invariant(element, element is AnalyzableElement,
|
| + message: 'Element $element is not analyzable.'));
|
| + return _resolution.createWorkItem(element);
|
| + }
|
| +}
|
|
|