diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index d089ded..e695ae7 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -35,7 +35,7 @@
 import 'package:analyzer/src/error/todo_finder.dart';
 import 'package:analyzer/src/error/unicode_text_verifier.dart';
 import 'package:analyzer/src/error/unused_local_elements_verifier.dart';
-import 'package:analyzer/src/generated/declaration_resolver.dart';
+import 'package:analyzer/src/generated/element_walker.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error_verifier.dart';
 import 'package:analyzer/src/generated/ffi_verifier.dart';
diff --git a/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart b/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
index 71e14b9..7e108f6 100644
--- a/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
@@ -33,7 +33,7 @@
 import 'package:analyzer/src/error/todo_finder.dart';
 import 'package:analyzer/src/error/unicode_text_verifier.dart';
 import 'package:analyzer/src/error/unused_local_elements_verifier.dart';
-import 'package:analyzer/src/generated/declaration_resolver.dart';
+import 'package:analyzer/src/generated/element_walker.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error_verifier.dart';
 import 'package:analyzer/src/generated/resolver.dart';
diff --git a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
index cb2de85..781f48e 100644
--- a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
@@ -21,7 +21,7 @@
 import 'package:analyzer/src/dart/resolver/named_type_resolver.dart';
 import 'package:analyzer/src/dart/resolver/scope.dart';
 import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/declaration_resolver.dart';
+import 'package:analyzer/src/generated/element_walker.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart';
 
 class ElementHolder {
diff --git a/pkg/analyzer/lib/src/generated/declaration_resolver.dart b/pkg/analyzer/lib/src/generated/element_walker.dart
similarity index 87%
rename from pkg/analyzer/lib/src/generated/declaration_resolver.dart
rename to pkg/analyzer/lib/src/generated/element_walker.dart
index 041fc62..aafabade 100644
--- a/pkg/analyzer/lib/src/generated/declaration_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/element_walker.dart
@@ -2,9 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// See: https://github.com/dart-lang/linter/issues/3345
-// ignore_for_file: prefer_initializing_formals
-
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 
@@ -41,9 +38,8 @@
 
   /// Creates an [ElementWalker] which walks the child elements of a class
   /// element.
-  ElementWalker.forClass(ClassElement element)
-      : element = element,
-        _accessors = element.accessors.where(_isNotSynthetic).toList(),
+  ElementWalker.forClass(ClassElement this.element)
+      : _accessors = element.accessors.where(_isNotSynthetic).toList(),
         _constructors = element.isMixinApplication
             ? null
             : element.constructors.where(_isNotSynthetic).toList(),
@@ -53,10 +49,9 @@
 
   /// Creates an [ElementWalker] which walks the child elements of a compilation
   /// unit element.
-  ElementWalker.forCompilationUnit(CompilationUnitElementImpl element,
+  ElementWalker.forCompilationUnit(CompilationUnitElementImpl this.element,
       {this.libraryFilePath, this.unitFilePath})
-      : element = element,
-        _accessors = element.accessors.where(_isNotSynthetic).toList(),
+      : _accessors = element.accessors.where(_isNotSynthetic).toList(),
         _classes = element.classes,
         _enums = element.enums,
         _extensions = element.extensions,
@@ -67,46 +62,40 @@
 
   /// Creates an [ElementWalker] which walks the child elements of a compilation
   /// unit element.
-  ElementWalker.forExecutable(ExecutableElement element)
-      : element = element,
-        _functions = const <ExecutableElement>[],
+  ElementWalker.forExecutable(ExecutableElement this.element)
+      : _functions = const <ExecutableElement>[],
         _parameters = element.parameters,
         _typeParameters = element.typeParameters;
 
   /// Creates an [ElementWalker] which walks the child elements of an extension
   /// element.
-  ElementWalker.forExtension(ExtensionElement element)
-      : element = element,
-        _accessors = element.accessors.where(_isNotSynthetic).toList(),
+  ElementWalker.forExtension(ExtensionElement this.element)
+      : _accessors = element.accessors.where(_isNotSynthetic).toList(),
         _functions = element.methods,
         _typeParameters = element.typeParameters,
         _variables = element.fields.where(_isNotSynthetic).toList();
 
   /// Creates an [ElementWalker] which walks the child elements of a typedef
   /// element.
-  ElementWalker.forGenericFunctionType(GenericFunctionTypeElement element)
-      : element = element,
-        _parameters = element.parameters,
+  ElementWalker.forGenericFunctionType(GenericFunctionTypeElement this.element)
+      : _parameters = element.parameters,
         _typeParameters = element.typeParameters;
 
   /// Creates an [ElementWalker] which walks the child elements of a typedef
   /// element defined using a generic function type.
-  ElementWalker.forGenericTypeAlias(TypeAliasElement element)
-      : element = element,
-        _typeParameters = element.typeParameters;
+  ElementWalker.forGenericTypeAlias(TypeAliasElement this.element)
+      : _typeParameters = element.typeParameters;
 
   /// Creates an [ElementWalker] which walks the child elements of a parameter
   /// element.
-  ElementWalker.forParameter(ParameterElement element)
-      : element = element,
-        _parameters = element.parameters,
+  ElementWalker.forParameter(ParameterElement this.element)
+      : _parameters = element.parameters,
         _typeParameters = element.typeParameters;
 
   /// Creates an [ElementWalker] which walks the child elements of a typedef
   /// element.
-  ElementWalker.forTypedef(TypeAliasElement element)
-      : element = element,
-        _parameters =
+  ElementWalker.forTypedef(TypeAliasElement this.element)
+      : _parameters =
             (element.aliasedElement as GenericFunctionTypeElement).parameters,
         _typeParameters = element.typeParameters;
 
