| 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 d67bc4c02fed6bfa911fa18ea90dd0b41c59bd12..4b16bfca969d98d4aa511248f9975fd55e481494 100644
|
| --- a/pkg/analyzer/lib/src/generated/declaration_resolver.dart
|
| +++ b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
|
| @@ -9,7 +9,9 @@ import 'package:analyzer/dart/ast/token.dart';
|
| import 'package:analyzer/dart/ast/visitor.dart';
|
| import 'package:analyzer/dart/element/element.dart';
|
| import 'package:analyzer/exception/exception.dart';
|
| +import 'package:analyzer/src/dart/element/builder.dart';
|
| import 'package:analyzer/src/dart/element/element.dart';
|
| +import 'package:analyzer/src/generated/resolver.dart';
|
|
|
| /**
|
| * A visitor that resolves declarations in an AST structure to already built
|
| @@ -51,6 +53,17 @@ class DeclarationResolver extends RecursiveAstVisitor<Object> {
|
| }
|
|
|
| @override
|
| + Object visitAnnotation(Annotation node) {
|
| + // Annotations can only contain elements in certain erroneous situations,
|
| + // in which case the elements are disconnected from the rest of the element
|
| + // model, thus we can't reconnect to them. To avoid crashes, just create
|
| + // fresh elements.
|
| + ElementHolder elementHolder = new ElementHolder();
|
| + new ElementBuilder(elementHolder, _enclosingUnit).visitAnnotation(node);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| Object visitCatchClause(CatchClause node) {
|
| SimpleIdentifier exceptionParameter = node.exceptionParameter;
|
| if (exceptionParameter != null) {
|
|
|