Change DeclarationResolver to extend RecursiveAstVisitor<void>.

No change in functionality; all visit methods already return `null`.

Change-Id: I578fae62522f4b4f79e62e66bed9262cdcf1f33b
Reviewed-on: https://dart-review.googlesource.com/75994
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
diff --git a/pkg/analyzer/lib/src/generated/declaration_resolver.dart b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
index 8abcdc1..422c80d 100644
--- a/pkg/analyzer/lib/src/generated/declaration_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
@@ -25,7 +25,7 @@
 /// [RESOLVED_UNIT1]). This class must not assume that the
 /// [CompilationUnitElement] passed to it is any more complete than a
 /// [COMPILATION_UNIT_ELEMENT].
-class DeclarationResolver extends RecursiveAstVisitor<Object> {
+class DeclarationResolver extends RecursiveAstVisitor<void> {
   /// The compilation unit containing the AST nodes being visited.
   CompilationUnitElementImpl _enclosingUnit;
 
@@ -57,55 +57,51 @@
   }
 
   @override
-  Object visitAnnotation(Annotation node) {
+  void 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 visitBlockFunctionBody(BlockFunctionBody node) {
+  void visitBlockFunctionBody(BlockFunctionBody node) {
     if (_isBodyToCreateElementsFor(node)) {
       _walker.consumeLocalElements();
       node.accept(_walker.elementBuilder);
-      return null;
     } else {
-      return super.visitBlockFunctionBody(node);
+      super.visitBlockFunctionBody(node);
     }
   }
 
   @override
-  Object visitCatchClause(CatchClause node) {
+  void visitCatchClause(CatchClause node) {
     _walker.elementBuilder.buildCatchVariableElements(node);
-    return super.visitCatchClause(node);
+    super.visitCatchClause(node);
   }
 
   @override
-  Object visitClassDeclaration(ClassDeclaration node) {
+  void visitClassDeclaration(ClassDeclaration node) {
     ClassElement element = _match(node.name, _walker.getClass());
     _walk(new ElementWalker.forClass(element), () {
       super.visitClassDeclaration(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitClassTypeAlias(ClassTypeAlias node) {
+  void visitClassTypeAlias(ClassTypeAlias node) {
     ClassElement element = _match(node.name, _walker.getClass());
     _walk(new ElementWalker.forClass(element), () {
       super.visitClassTypeAlias(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitConstructorDeclaration(ConstructorDeclaration node) {
+  void visitConstructorDeclaration(ConstructorDeclaration node) {
     ConstructorElement element = _match(node.name, _walker.getConstructor(),
         offset: node.name?.offset ?? node.returnType.offset);
     _walk(new ElementWalker.forExecutable(element, _enclosingUnit), () {
@@ -113,18 +109,16 @@
       super.visitConstructorDeclaration(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitDeclaredIdentifier(DeclaredIdentifier node) {
+  void visitDeclaredIdentifier(DeclaredIdentifier node) {
     // Declared identifiers can only occur inside executable elements.
     _walker.elementBuilder.visitDeclaredIdentifier(node);
-    return null;
   }
 
   @override
-  Object visitDefaultFormalParameter(DefaultFormalParameter node) {
+  void visitDefaultFormalParameter(DefaultFormalParameter node) {
     NormalFormalParameter normalParameter = node.parameter;
     ParameterElement element =
         _match(normalParameter.identifier, _walker.getParameter());
@@ -153,11 +147,10 @@
     });
 
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitEnumDeclaration(EnumDeclaration node) {
+  void visitEnumDeclaration(EnumDeclaration node) {
     ClassElement element = _match(node.name, _walker.getEnum());
     node.name.staticType = _typeProvider.typeType;
     resolveMetadata(node, node.metadata, element);
@@ -171,11 +164,10 @@
       _walker.getFunction(); // toString()
       super.visitEnumDeclaration(node);
     });
-    return null;
   }
 
   @override
-  Object visitExportDirective(ExportDirective node) {
+  void visitExportDirective(ExportDirective node) {
     super.visitExportDirective(node);
     List<ElementAnnotation> annotations =
         _enclosingUnit.getAnnotations(node.offset);
@@ -188,30 +180,27 @@
       annotations = _walker.element.library.exports[index].metadata;
     }
     resolveAnnotations(node, node.metadata, annotations);
-    return null;
   }
 
   @override
-  Object visitExpressionFunctionBody(ExpressionFunctionBody node) {
+  void visitExpressionFunctionBody(ExpressionFunctionBody node) {
     if (_isBodyToCreateElementsFor(node)) {
       _walker.consumeLocalElements();
       node.accept(_walker.elementBuilder);
-      return null;
     } else {
-      return super.visitExpressionFunctionBody(node);
+      super.visitExpressionFunctionBody(node);
     }
   }
 
   @override
-  Object visitFieldDeclaration(FieldDeclaration node) {
+  void visitFieldDeclaration(FieldDeclaration node) {
     super.visitFieldDeclaration(node);
     FieldElement firstFieldElement = node.fields.variables[0].declaredElement;
     resolveMetadata(node, node.metadata, firstFieldElement);
-    return null;
   }
 
   @override
-  Object visitFieldFormalParameter(FieldFormalParameter node) {
+  void visitFieldFormalParameter(FieldFormalParameter node) {
     if (node.parent is! DefaultFormalParameter) {
       ParameterElement element =
           _match(node.identifier, _walker.getParameter());
@@ -221,14 +210,13 @@
       });
       resolveMetadata(node, node.metadata, element);
       _setGenericFunctionType(node.type, element.type);
-      return null;
     } else {
-      return super.visitFieldFormalParameter(node);
+      super.visitFieldFormalParameter(node);
     }
   }
 
   @override
-  Object visitFunctionDeclaration(FunctionDeclaration node) {
+  void visitFunctionDeclaration(FunctionDeclaration node) {
     SimpleIdentifier functionName = node.name;
     Token property = node.propertyKeyword;
     ExecutableElement element;
@@ -252,31 +240,28 @@
       super.visitFunctionDeclaration(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitFunctionExpression(FunctionExpression node) {
+  void visitFunctionExpression(FunctionExpression node) {
     if (node.parent is! FunctionDeclaration) {
       node.accept(_walker.elementBuilder);
-      return null;
     } else {
-      return super.visitFunctionExpression(node);
+      super.visitFunctionExpression(node);
     }
   }
 
   @override
-  Object visitFunctionTypeAlias(FunctionTypeAlias node) {
+  void visitFunctionTypeAlias(FunctionTypeAlias node) {
     FunctionTypeAliasElement element = _match(node.name, _walker.getTypedef());
     _walk(new ElementWalker.forTypedef(element), () {
       super.visitFunctionTypeAlias(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
+  void visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
     if (node.parent is! DefaultFormalParameter) {
       ParameterElement element =
           _match(node.identifier, _walker.getParameter());
@@ -284,14 +269,13 @@
         super.visitFunctionTypedFormalParameter(node);
       });
       resolveMetadata(node, node.metadata, element);
-      return null;
     } else {
-      return super.visitFunctionTypedFormalParameter(node);
+      super.visitFunctionTypedFormalParameter(node);
     }
   }
 
   @override
-  Object visitGenericFunctionType(GenericFunctionType node) {
+  void visitGenericFunctionType(GenericFunctionType node) {
     if (_walker.elementBuilder != null) {
       _walker.elementBuilder.visitGenericFunctionType(node);
     } else {
@@ -306,11 +290,10 @@
         }
       }
     }
-    return null;
   }
 
   @override
-  Object visitGenericTypeAlias(GenericTypeAlias node) {
+  void visitGenericTypeAlias(GenericTypeAlias node) {
     GenericTypeAliasElementImpl element =
         _match(node.name, _walker.getTypedef());
     _setGenericFunctionType(node.functionType, element.function?.type);
@@ -318,11 +301,10 @@
       super.visitGenericTypeAlias(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitImportDirective(ImportDirective node) {
+  void visitImportDirective(ImportDirective node) {
     super.visitImportDirective(node);
     List<ElementAnnotation> annotations =
         _enclosingUnit.getAnnotations(node.offset);
@@ -335,19 +317,18 @@
       annotations = _walker.element.library.imports[index].metadata;
     }
     resolveAnnotations(node, node.metadata, annotations);
-    return null;
   }
 
   @override
-  Object visitLabeledStatement(LabeledStatement node) {
+  void visitLabeledStatement(LabeledStatement node) {
     bool onSwitchStatement = node.statement is SwitchStatement;
     _walker.elementBuilder
         .buildLabelElements(node.labels, onSwitchStatement, false);
-    return super.visitLabeledStatement(node);
+    super.visitLabeledStatement(node);
   }
 
   @override
-  Object visitLibraryDirective(LibraryDirective node) {
+  void visitLibraryDirective(LibraryDirective node) {
     super.visitLibraryDirective(node);
     List<ElementAnnotation> annotations =
         _enclosingUnit.getAnnotations(node.offset);
@@ -355,11 +336,10 @@
       annotations = _walker.element.library.metadata;
     }
     resolveAnnotations(node, node.metadata, annotations);
-    return null;
   }
 
   @override
-  Object visitMethodDeclaration(MethodDeclaration node) {
+  void visitMethodDeclaration(MethodDeclaration node) {
     Token property = node.propertyKeyword;
     SimpleIdentifier methodName = node.name;
     String nameOfMethod = methodName.name;
@@ -386,21 +366,19 @@
       super.visitMethodDeclaration(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitMixinDeclaration(MixinDeclaration node) {
+  void visitMixinDeclaration(MixinDeclaration node) {
     ClassElement element = _match(node.name, _walker.getMixin());
     _walk(new ElementWalker.forClass(element), () {
       super.visitMixinDeclaration(node);
     });
     resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitPartDirective(PartDirective node) {
+  void visitPartDirective(PartDirective node) {
     super.visitPartDirective(node);
     List<ElementAnnotation> annotations =
         _enclosingUnit.getAnnotations(node.offset);
@@ -413,17 +391,16 @@
       annotations = _walker.element.library.parts[index].metadata;
     }
     resolveAnnotations(node, node.metadata, annotations);
-    return null;
   }
 
   @override
-  Object visitPartOfDirective(PartOfDirective node) {
+  void visitPartOfDirective(PartOfDirective node) {
     node.element = _enclosingUnit.library;
-    return super.visitPartOfDirective(node);
+    super.visitPartOfDirective(node);
   }
 
   @override
-  Object visitSimpleFormalParameter(SimpleFormalParameter node) {
+  void visitSimpleFormalParameter(SimpleFormalParameter node) {
     if (node.parent is! DefaultFormalParameter) {
       ParameterElement element =
           _match(node.identifier, _walker.getParameter());
@@ -433,52 +410,49 @@
         super.visitSimpleFormalParameter(node);
       });
       resolveMetadata(node, node.metadata, element);
-      return null;
     } else {
-      return super.visitSimpleFormalParameter(node);
+      super.visitSimpleFormalParameter(node);
     }
   }
 
   @override
-  Object visitSwitchCase(SwitchCase node) {
+  void visitSwitchCase(SwitchCase node) {
     _walker.elementBuilder.buildLabelElements(node.labels, false, true);
-    return super.visitSwitchCase(node);
+    super.visitSwitchCase(node);
   }
 
   @override
-  Object visitSwitchDefault(SwitchDefault node) {
+  void visitSwitchDefault(SwitchDefault node) {
     _walker.elementBuilder.buildLabelElements(node.labels, false, true);
-    return super.visitSwitchDefault(node);
+    super.visitSwitchDefault(node);
   }
 
   @override
-  Object visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
+  void visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
     super.visitTopLevelVariableDeclaration(node);
     VariableElement firstElement = node.variables.variables[0].declaredElement;
     resolveMetadata(node, node.metadata, firstElement);
-    return null;
   }
 
   @override
-  Object visitTypeParameter(TypeParameter node) {
+  void visitTypeParameter(TypeParameter node) {
     if (node.parent.parent is FunctionTypedFormalParameter) {
       // Work around dartbug.com/28515.
       // TODO(paulberry): remove this once dartbug.com/28515 is fixed.
       var element = new TypeParameterElementImpl.forNode(node.name);
       element.type = new TypeParameterTypeImpl(element);
       node.name?.staticElement = element;
-      return null;
+    } else {
+      TypeParameterElement element =
+          _match(node.name, _walker.getTypeParameter());
+      _setGenericFunctionType(node.bound, element.bound);
+      super.visitTypeParameter(node);
+      resolveMetadata(node, node.metadata, element);
     }
-    TypeParameterElement element =
-        _match(node.name, _walker.getTypeParameter());
-    _setGenericFunctionType(node.bound, element.bound);
-    super.visitTypeParameter(node);
-    resolveMetadata(node, node.metadata, element);
-    return null;
   }
 
   @override
-  Object visitVariableDeclaration(VariableDeclaration node) {
+  void visitVariableDeclaration(VariableDeclaration node) {
     VariableElement element = _match(node.name, _walker.getVariable());
     Expression initializer = node.initializer;
     if (initializer != null) {
@@ -490,13 +464,12 @@
     } else {
       super.visitVariableDeclaration(node);
     }
-    return null;
   }
 
   @override
-  Object visitVariableDeclarationList(VariableDeclarationList node) {
+  void visitVariableDeclarationList(VariableDeclarationList node) {
     if (_walker.elementBuilder != null) {
-      return _walker.elementBuilder.visitVariableDeclarationList(node);
+      _walker.elementBuilder.visitVariableDeclarationList(node);
     } else {
       node.variables.accept(this);
       VariableElement firstVariable = node.variables[0].declaredElement;
@@ -506,7 +479,6 @@
           node.parent is! TopLevelVariableDeclaration) {
         resolveMetadata(node, node.metadata, firstVariable);
       }
-      return null;
     }
   }