44
55import 'package:analyzer/dart/ast/ast.dart' ;
66import 'package:analyzer/dart/ast/visitor.dart' ;
7- import 'package:analyzer/dart/element/element .dart' ;
7+ import 'package:analyzer/dart/element/element2 .dart' ;
88
99import '../analyzer.dart' ;
1010
@@ -47,19 +47,18 @@ class _Visitor extends SimpleAstVisitor<void> {
4747 }
4848 var superInvocation =
4949 node.initializers.whereType <SuperConstructorInvocation >().firstOrNull;
50- var superConstructor = superInvocation? .staticElement ;
50+ var superConstructor = superInvocation? .element ;
5151 if (superConstructor == null ) {
5252 var class_ = node.parent;
5353 if (class_ is ClassDeclaration ) {
54- superConstructor =
55- class_.declaredElement ? . supertype? .element.unnamedConstructor ;
54+ superConstructor = class_
55+ .declaredFragment ? .element. supertype? .element3.unnamedConstructor2 ;
5656 }
5757 }
58- if (superConstructor is ! ConstructorElement ) {
59- return ;
60- }
58+ if (superConstructor is ! ConstructorElement2 ) return ;
59+
6160 var positionalParametersOfSuper =
62- superConstructor.parameters .where ((p) => p.isPositional).toList ();
61+ superConstructor.formalParameters .where ((p) => p.isPositional).toList ();
6362 if (positionalParametersOfSuper.length < positionalSuperParameters.length) {
6463 // More positional parameters are passed to super constructor than it
6564 // has positional parameters, an error.
@@ -68,8 +67,9 @@ class _Visitor extends SimpleAstVisitor<void> {
6867 for (var i = 0 ; i < positionalSuperParameters.length; i++ ) {
6968 var superParameter = positionalSuperParameters[i];
7069 var superParameterName = superParameter.name.lexeme;
71- var parameterOfSuperName = positionalParametersOfSuper[i].name;
72- if (superParameterName != parameterOfSuperName) {
70+ var parameterOfSuperName = positionalParametersOfSuper[i].name3;
71+ if (parameterOfSuperName != null &&
72+ superParameterName != parameterOfSuperName) {
7373 rule.reportLint (superParameter,
7474 arguments: [superParameterName, parameterOfSuperName]);
7575 }
0 commit comments