diff --git a/pkg/linter/analyzer_use_new_elements.txt b/pkg/linter/analyzer_use_new_elements.txt
index 33302ee..17aff71 100644
--- a/pkg/linter/analyzer_use_new_elements.txt
+++ b/pkg/linter/analyzer_use_new_elements.txt
@@ -86,6 +86,7 @@
 lib/src/rules/lines_longer_than_80_chars.dart
 lib/src/rules/list_remove_unrelated_type.dart
 lib/src/rules/literal_only_boolean_expressions.dart
+lib/src/rules/matching_super_parameters.dart
 lib/src/rules/missing_code_block_language_in_doc_comment.dart
 lib/src/rules/missing_whitespace_between_adjacent_strings.dart
 lib/src/rules/no_adjacent_strings_in_list.dart
diff --git a/pkg/linter/lib/src/rules/matching_super_parameters.dart b/pkg/linter/lib/src/rules/matching_super_parameters.dart
index 2725496..d9dbc7d 100644
--- a/pkg/linter/lib/src/rules/matching_super_parameters.dart
+++ b/pkg/linter/lib/src/rules/matching_super_parameters.dart
@@ -4,7 +4,7 @@
 
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
-import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/element2.dart';
 
 import '../analyzer.dart';
 
@@ -47,19 +47,18 @@
     }
     var superInvocation =
         node.initializers.whereType<SuperConstructorInvocation>().firstOrNull;
-    var superConstructor = superInvocation?.staticElement;
+    var superConstructor = superInvocation?.element;
     if (superConstructor == null) {
       var class_ = node.parent;
       if (class_ is ClassDeclaration) {
-        superConstructor =
-            class_.declaredElement?.supertype?.element.unnamedConstructor;
+        superConstructor = class_
+            .declaredFragment?.element.supertype?.element3.unnamedConstructor2;
       }
     }
-    if (superConstructor is! ConstructorElement) {
-      return;
-    }
+    if (superConstructor is! ConstructorElement2) return;
+
     var positionalParametersOfSuper =
-        superConstructor.parameters.where((p) => p.isPositional).toList();
+        superConstructor.formalParameters.where((p) => p.isPositional).toList();
     if (positionalParametersOfSuper.length < positionalSuperParameters.length) {
       // More positional parameters are passed to super constructor than it
       // has positional parameters, an error.
@@ -68,8 +67,9 @@
     for (var i = 0; i < positionalSuperParameters.length; i++) {
       var superParameter = positionalSuperParameters[i];
       var superParameterName = superParameter.name.lexeme;
-      var parameterOfSuperName = positionalParametersOfSuper[i].name;
-      if (superParameterName != parameterOfSuperName) {
+      var parameterOfSuperName = positionalParametersOfSuper[i].name3;
+      if (parameterOfSuperName != null &&
+          superParameterName != parameterOfSuperName) {
         rule.reportLint(superParameter,
             arguments: [superParameterName, parameterOfSuperName]);
       }
