Skip to content
This repository was archived by the owner on Jul 16, 2023. It is now read-only.
This repository was archived by the owner on Jul 16, 2023. It is now read-only.

[BUG] check-unused-code crashes #1098

Closed
@asaarnak

Description

@asaarnak
  • Dart code metrics version:5.2.0
  • Dart sdk version:2.18.5

Crash

flutter pub run dart_code_metrics:metrics check-unused-code lib
⠙ Checking unused code for 275 file(s)... 5.1sUnhandled exception:
Null check operator used on a null value
#0      Member.source (package:analyzer/src/dart/element/member.dart:621:43)
#1      UsedCodeVisitor._recordConditionalElement (package:dart_code_metrics/src/analyzers/unused_code_analyzer/used_code_visitor.dart:160:33)
#2      UsedCodeVisitor._visitIdentifier (package:dart_code_metrics/src/analyzers/unused_code_analyzer/used_code_visitor.dart:210:9)
#3      UsedCodeVisitor.visitSimpleIdentifier (package:dart_code_metrics/src/analyzers/unused_code_analyzer/used_code_visitor.dart:98:5)
#4      SimpleIdentifierImpl.accept (package:analyzer/src/dart/ast/ast.dart:11474:50)
#5      LabelImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7856:12)
#6      RecursiveAstVisitor.visitLabel (package:analyzer/dart/ast/visitor.dart:1287:10)
#7      LabelImpl.accept (package:analyzer/src/dart/ast/ast.dart:7852:50)
#8      NamedExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:8941:11)
#9      RecursiveAstVisitor.visitNamedExpression (package:analyzer/dart/ast/visitor.dart:1365:10)
#10     NamedExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:8932:50)
#11     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:9237:20)
#12     ArgumentListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:400:16)
#13     RecursiveAstVisitor.visitArgumentList (package:analyzer/dart/ast/visitor.dart:795:10)
#14     ArgumentListImpl.accept (package:analyzer/src/dart/ast/ast.dart:396:50)
#15     MethodInvocationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:8716:19)
#16     RecursiveAstVisitor.visitMethodInvocation (package:analyzer/dart/ast/visitor.dart:1353:10)
#17     MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:8704:50)
#18     ReturnStatementImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:11011:18)
#19     RecursiveAstVisitor.visitReturnStatement (package:analyzer/dart/ast/visitor.dart:1549:10)
#20     ReturnStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:11007:50)
#21     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:9237:20)
#22     BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1265:17)
#23     RecursiveAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:849:10)
#24     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1261:50)
#25     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1216:12)
#26     RecursiveAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:855:10)
#27     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1208:50)
#28     MethodDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:8560:11)
#29     RecursiveAstVisitor.visitMethodDeclaration (package:analyzer/dart/ast/visitor.dart:1347:10)
#30     MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:8552:50)
#31     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:9237:20)
#32     ClassDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2002:13)
#33     RecursiveAstVisitor.visitClassDeclaration (package:analyzer/dart/ast/visitor.dart:903:10)
#34     ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1992:50)
#35     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:9237:20)
#36     CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2482:21)
#37     UnusedCodeAnalyzer._analyzeFileCodeUsages (package:dart_code_metrics/src/analyzers/unused_code_analyzer/unused_code_analyzer.dart:131:17)
#38     UnusedCodeAnalyzer.runCliAnalysis (package:dart_code_metrics/src/analyzers/unused_code_analyzer/unused_code_analyzer.dart:91:27)
<asynchronous suspension>
#39     CheckUnusedCodeCommand.runCommand (package:dart_code_metrics/src/cli/commands/check_unused_code_command.dart:52:30)
<asynchronous suspension>
#40     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#41     CliRunner.run (package:dart_code_metrics/src/cli/cli_runner.dart:56:7)
<asynchronous suspension>
#42     main (file:///home/asaarnak/.pub-cache/hosted/pub.dartlang.org/dart_code_metrics-5.2.0/bin/metrics.dart:4:3)
<asynchronous suspension>
pub finished with exit code 255

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions