| Index: pkg/analyzer/lib/src/generated/declaration_resolver.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/declaration_resolver.dart b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
|
| index 595acb9d9d9210de9ccb8dc6a859c71ef05cca49..90f3483a571db33a226f7747e664e4ad5d4ebd33 100644
|
| --- a/pkg/analyzer/lib/src/generated/declaration_resolver.dart
|
| +++ b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
|
| @@ -154,8 +154,17 @@ class DeclarationResolver extends RecursiveAstVisitor<Object> {
|
| @override
|
| Object visitExportDirective(ExportDirective node) {
|
| super.visitExportDirective(node);
|
| - _resolveAnnotations(
|
| - node, node.metadata, _enclosingUnit.getAnnotations(node.offset));
|
| + List<ElementAnnotation> annotations =
|
| + _enclosingUnit.getAnnotations(node.offset);
|
| + if (annotations.isEmpty && node.metadata.isNotEmpty) {
|
| + int index = (node.parent as CompilationUnit)
|
| + .directives
|
| + .where((directive) => directive is ExportDirective)
|
| + .toList()
|
| + .indexOf(node);
|
| + annotations = _walker.element.library.exports[index].metadata;
|
| + }
|
| + _resolveAnnotations(node, node.metadata, annotations);
|
| return null;
|
| }
|
|
|
| @@ -263,8 +272,17 @@ class DeclarationResolver extends RecursiveAstVisitor<Object> {
|
| @override
|
| Object visitImportDirective(ImportDirective node) {
|
| super.visitImportDirective(node);
|
| - _resolveAnnotations(
|
| - node, node.metadata, _enclosingUnit.getAnnotations(node.offset));
|
| + List<ElementAnnotation> annotations =
|
| + _enclosingUnit.getAnnotations(node.offset);
|
| + if (annotations.isEmpty && node.metadata.isNotEmpty) {
|
| + int index = (node.parent as CompilationUnit)
|
| + .directives
|
| + .where((directive) => directive is ImportDirective)
|
| + .toList()
|
| + .indexOf(node);
|
| + annotations = _walker.element.library.imports[index].metadata;
|
| + }
|
| + _resolveAnnotations(node, node.metadata, annotations);
|
| return null;
|
| }
|
|
|
|
|