Skip to content

enhanced enums support for unnecessary_overrides #58589

Closed
Listed in
dart-archive/linter
#3245
@pq

Description

@pq
No description provided.

Activity

pq

pq commented on Jan 27, 2022

@pq
MemberAuthor
  test_field() async {
    await assertDiagnostics(r'''
enum A {
  a,b,c;
  @override
  int get foo => 0;
}
''', [
      lint('unnecessary_overrides', 28, 8),
    ]);
  }

failing w/

package:analyzer/src/dart/analysis/driver.dart 1476:9             AnalysisDriver._computeAnalysisResult.<fn>
package:analyzer/src/dart/analysis/performance_logger.dart 32:15  PerformanceLog.run
package:analyzer/src/dart/analysis/driver.dart 1424:20            AnalysisDriver._computeAnalysisResult
package:analyzer/src/dart/analysis/driver.dart 1050:22            AnalysisDriver.performWork
package:analyzer/src/dart/analysis/driver.dart 2127:24            AnalysisDriverScheduler._run

Null check operator used on a null value
#0      AnnotationResolver._resolve (package:analyzer/src/dart/resolver/annotation_resolver.dart:309:43)
dart-lang/sdk#57147      AnnotationResolver.resolve (package:analyzer/src/dart/resolver/annotation_resolver.dart:34:5)
dart-lang/sdk#57148      ResolverVisitor.visitAnnotation (package:analyzer/src/generated/resolver.dart:1074:25)
dart-lang/sdk#57149      AnnotationImpl.accept (package:analyzer/src/dart/ast/ast.dart:297:50)
dart-lang/sdk#57150      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7813:20)
dart-lang/sdk#57151      AnnotatedNodeImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:144:17)
dart-lang/sdk#57152      MethodDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7181:11)
dart-lang/sdk#57153      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1931:10)
dart-lang/sdk#57154      UnifyingAstVisitor.visitMethodDeclaration (package:analyzer/dart/ast/visitor.dart:3561:56)
dart-lang/sdk#57155      ResolverVisitor.visitMethodDeclaration (package:analyzer/src/generated/resolver.dart:1834:13)
dart-lang/sdk#57156     MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7177:50)
dart-lang/sdk#57157     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7813:20)
dart-lang/sdk#57158     EnumDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3415:14)
dart-lang/sdk#57159     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1931:10)
dart-lang/sdk#57160     UnifyingAstVisitor.visitEnumDeclaration (package:analyzer/dart/ast/visitor.dart:3419:52)
dart-lang/sdk#57161     ResolverVisitor.visitEnumDeclaration (package:analyzer/src/generated/resolver.dart:1502:13)
dart-lang/sdk#57162     EnumDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:3405:50)
dart-lang/sdk#57163     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1314:23)
dart-lang/sdk#57164     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2098:50)
dart-lang/sdk#57165     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:779:10)
dart-lang/sdk#57166     LibraryAnalyzer._parseAndResolve.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:597:7)
dart-lang/sdk#57167     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:574:13)
dart-lang/sdk#57168     LibraryAnalyzer._parseAndResolve (package:analyzer/src/dart/analysis/library_analyzer.dart:596:11)
dart-lang/sdk#57169     LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:105:17)
dart-lang/sdk#57170     AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1447:11)
dart-lang/sdk#57171     PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
dart-lang/sdk#57172     AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1424:20)
dart-lang/sdk#57173     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1050:22)
dart-lang/sdk#57174     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2127:24)
<asynchronous suspension>

scheglov

scheglov commented on Jan 27, 2022

@scheglov
Contributor

Do you use the bleeding edge analyzer? I can run this test without a crash (it fails).

  test_X() async {
    await assertNoErrorsInCode(r'''
enum A {
  a,b,c;
  @override
  int get foo => 0;
}
''');
  }
pq

pq commented on Jan 27, 2022

@pq
MemberAuthor

Ah, yes. sorry, should have added that. I see a failure on bleeding edge (but no crash) too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @pq@scheglov@devoncarew

      Issue actions

        enhanced enums support for `unnecessary_overrides` · Issue #58589 · dart-lang/sdk