From b4bc57b0a82c7d09bffe87ad9d35ea145c7d8354 Mon Sep 17 00:00:00 2001 From: Dmitry Zhifarsky Date: Mon, 20 Jun 2022 22:21:53 +0400 Subject: [PATCH] feat: introduce new command check-unnecessary-nullable (#874) * feat: introduce new command check-unnecessary-nullable * chore: update changelog * fix: add support for property access * fix: add support for index expressions * fix: add support for all expressions as arguments * fix: add null literal check * fix: support dynamic type for arguments * chore: downgrade react version * chore: fix comments --- CHANGELOG.md | 1 + analysis_options.yaml | 1 + .../declarations_visitor.dart | 74 +++++ .../invocations_visitor.dart | 56 ++++ .../models/invocations_usage.dart | 24 ++ .../unnecessary_nullable_file_report.dart | 22 ++ .../models/unnecessary_nullable_issue.dart | 26 ++ .../reporters/reporter_factory.dart | 30 ++ ...unnecessary_nullable_console_reporter.dart | 62 ++++ .../unnecessary_nullable_json_reporter.dart | 52 ++++ .../unnecessary_nullable_report_params.dart | 6 + .../unnecessary_nullable_analysis_config.dart | 12 + .../unnecessary_nullable_analyzer.dart | 292 ++++++++++++++++++ .../unnecessary_nullable_config.dart | 50 +++ .../unused_code_analyzer.dart | 4 +- .../used_code_visitor.dart | 2 +- .../unused_l10n_analyzer.dart | 4 +- lib/src/cli/cli_runner.dart | 2 + .../check_unnecessary_nullable_command.dart | 110 +++++++ lib/src/cli/models/flag_names.dart | 1 + lib/src/config_builder/config_builder.dart | 28 ++ .../generated/some_file.freezed.dart | 3 + .../nullable_class_parameters.dart | 25 ++ .../nullable_function_parameters.dart | 30 ++ .../nullable_method_parameters.dart | 22 ++ .../unnecessary_nullabe_example.dart | 47 +++ .../unnecessary_nullable_analyzer_test.dart | 143 +++++++++ ...eck_unnecessary_nullable_command_test.dart | 65 ++++ .../docs/cli/check-unnecessary-nullable.md | 113 +++++++ website/docs/cli/check-unused-code.md | 4 +- website/docs/cli/check-unused-files.md | 6 +- website/package-lock.json | 156 +++++----- website/package.json | 6 +- .../unnecessary-nullable-console-report.png | Bin 0 -> 225692 bytes 34 files changed, 1390 insertions(+), 89 deletions(-) create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/declarations_visitor.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/invocations_visitor.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/models/invocations_usage.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_file_report.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_issue.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporter_factory.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/console/unnecessary_nullable_console_reporter.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/json/unnecessary_nullable_json_reporter.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/reporters/unnecessary_nullable_report_params.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analysis_config.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer.dart create mode 100644 lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_config.dart create mode 100644 lib/src/cli/commands/check_unnecessary_nullable_command.dart create mode 100644 test/resources/unnecessary_nullable_analyzer/generated/some_file.freezed.dart create mode 100644 test/resources/unnecessary_nullable_analyzer/nullable_class_parameters.dart create mode 100644 test/resources/unnecessary_nullable_analyzer/nullable_function_parameters.dart create mode 100644 test/resources/unnecessary_nullable_analyzer/nullable_method_parameters.dart create mode 100644 test/resources/unnecessary_nullable_analyzer/unnecessary_nullabe_example.dart create mode 100644 test/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer_test.dart create mode 100644 test/src/cli/commands/check_unnecessary_nullable_command_test.dart create mode 100644 website/docs/cli/check-unnecessary-nullable.md create mode 100644 website/static/img/unnecessary-nullable-console-report.png diff --git a/CHANGELOG.md b/CHANGELOG.md index cee4767220..f78ec05bd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased +* feat: introduce new command [`check-unnecessary-nullable`](https://dartcodemetrics.dev/docs/cli/check-unnecessary-nullable). * feat: add [`avoid-banned-imports`](https://dartcodemetrics.dev/docs/rules/common/avoid-banned-imports) rule. * feat: add configuration to [`prefer-extracting-callbacks`](https://dartcodemetrics.dev/docs/rules/flutter/prefer-extracting-callbacks). * feat: improve [`checkstyle`](https://dartcodemetrics.dev/docs/cli/analyze#checkstyle) report, added metrics entries. diff --git a/analysis_options.yaml b/analysis_options.yaml index e921b9aaea..b9a9bea720 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -6,6 +6,7 @@ analyzer: - test/resources/unused_files_analyzer/** - test/resources/unused_l10n_analyzer/** - test/resources/unused_code_analyzer/generated/** + - test/resources/unnecessary_nullable_analyzer/generated/** - test/resources/file_path_folder/** - test/**/examples/** language: diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/declarations_visitor.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/declarations_visitor.dart new file mode 100644 index 0000000000..3c3a29d610 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/declarations_visitor.dart @@ -0,0 +1,74 @@ +// ignore_for_file: public_member_api_docs + +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/nullability_suffix.dart'; + +import '../../utils/node_utils.dart'; + +typedef DeclarationUsages = Map>; + +class DeclarationsVisitor extends RecursiveAstVisitor { + final DeclarationUsages declarations = {}; + + @override + void visitMethodDeclaration(MethodDeclaration node) { + super.visitMethodDeclaration(node); + + final parameters = node.parameters?.parameters; + if (parameters == null || !_hasNullableParameters(parameters)) { + return; + } + + _getDeclarationElement(node, parameters); + } + + @override + void visitFunctionDeclaration(FunctionDeclaration node) { + super.visitFunctionDeclaration(node); + + final parameters = node.functionExpression.parameters?.parameters; + if (isEntrypoint(node.name.name, node.metadata) || + (parameters == null || !_hasNullableParameters(parameters))) { + return; + } + + _getDeclarationElement(node, parameters); + } + + @override + void visitConstructorDeclaration(ConstructorDeclaration node) { + super.visitConstructorDeclaration(node); + + final parameters = node.parameters.parameters; + if (!_hasNullableParameters(parameters)) { + return; + } + + _getDeclarationElement(node, parameters); + } + + bool _hasNullableParameters(Iterable parameters) => + parameters.any((parameter) { + final type = parameter.declaredElement?.type; + + return type != null && + (type.nullabilitySuffix == NullabilitySuffix.question && + (!parameter.isOptional || + parameter.isOptional && parameter.isRequired)) || + (parameter is DefaultFormalParameter && + parameter.defaultValue == null); + }); + + void _getDeclarationElement( + Declaration node, + Iterable parameters, + ) { + final element = node.declaredElement; + + if (element != null) { + declarations[element] = parameters; + } + } +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/invocations_visitor.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/invocations_visitor.dart new file mode 100644 index 0000000000..4df2dc68b9 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/invocations_visitor.dart @@ -0,0 +1,56 @@ +// ignore_for_file: public_member_api_docs + +import 'package:analyzer/dart/ast/ast.dart'; +import 'package:analyzer/dart/ast/visitor.dart'; +import 'package:analyzer/dart/element/element.dart'; + +import 'models/invocations_usage.dart'; + +class InvocationsVisitor extends RecursiveAstVisitor { + final invocationsUsages = InvocationsUsage(); + + @override + void visitExportDirective(ExportDirective node) { + super.visitExportDirective(node); + + final path = node.uriSource?.fullName; + if (path != null) { + invocationsUsages.exports.add(path); + } + } + + @override + void visitMethodInvocation(MethodInvocation node) { + super.visitMethodInvocation(node); + + _recordUsedElement(node.methodName.staticElement, node.argumentList); + } + + @override + void visitFunctionExpressionInvocation(FunctionExpressionInvocation node) { + super.visitFunctionExpressionInvocation(node); + + _recordUsedElement(node.staticElement, node.argumentList); + } + + @override + void visitInstanceCreationExpression(InstanceCreationExpression node) { + super.visitInstanceCreationExpression(node); + + _recordUsedElement(node.constructorName.staticElement, node.argumentList); + } + + /// Records use of a not prefixed [element]. + void _recordUsedElement(Element? element, ArgumentList arguments) { + if (element == null) { + return; + } + // Ignore if an unknown library. + final containingLibrary = element.library; + if (containingLibrary == null) { + return; + } + // Remember the element. + invocationsUsages.addElementUsage(element, {arguments}); + } +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/models/invocations_usage.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/models/invocations_usage.dart new file mode 100644 index 0000000000..d6b475fbd6 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/models/invocations_usage.dart @@ -0,0 +1,24 @@ +import 'package:analyzer/dart/ast/ast.dart'; +import 'package:analyzer/dart/element/element.dart'; + +/// A container with information about used imports prefixes and used imported +/// elements. +class InvocationsUsage { + /// The set of referenced top-level elements. + final Map> elements = {}; + + final Set exports = {}; + + void addElementUsage(Element element, Set expressions) { + elements.update( + element, + (value) => value..addAll(expressions), + ifAbsent: () => expressions, + ); + } + + void merge(InvocationsUsage other) { + other.elements.forEach(addElementUsage); + exports.addAll(other.exports); + } +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_file_report.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_file_report.dart new file mode 100644 index 0000000000..b09e51ab9d --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_file_report.dart @@ -0,0 +1,22 @@ +import '../../../reporters/models/file_report.dart'; +import 'unnecessary_nullable_issue.dart'; + +/// Represents unused code report collected for a file. +class UnnecessaryNullableFileReport implements FileReport { + /// The path to the target file. + @override + final String path; + + /// The path to the target file relative to the package root. + @override + final String relativePath; + + /// The issues detected in the target file. + final Iterable issues; + + const UnnecessaryNullableFileReport({ + required this.path, + required this.relativePath, + required this.issues, + }); +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_issue.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_issue.dart new file mode 100644 index 0000000000..0f69722ebe --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_issue.dart @@ -0,0 +1,26 @@ +import 'package:source_span/source_span.dart'; + +/// Represents an issue detected by the unused code check. +class UnnecessaryNullableIssue { + /// The name of the unused declaration. + final String declarationName; + + /// The type of the unused declaration. + final String declarationType; + + final Iterable parameters; + + /// The source location associated with this issue. + final SourceLocation location; + + /// Initialize a newly created [UnnecessaryNullableIssue]. + /// + /// The issue is associated with the given [location]. Used for + /// creating an unused code report. + const UnnecessaryNullableIssue({ + required this.declarationName, + required this.declarationType, + required this.parameters, + required this.location, + }); +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporter_factory.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporter_factory.dart new file mode 100644 index 0000000000..c0166ced37 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporter_factory.dart @@ -0,0 +1,30 @@ +import 'dart:io'; + +import '../../../reporters/models/console_reporter.dart'; +import '../../../reporters/models/json_reporter.dart'; +import '../../../reporters/models/reporter.dart'; +import '../models/unnecessary_nullable_file_report.dart'; +import 'reporters_list/console/unnecessary_nullable_console_reporter.dart'; +import 'reporters_list/json/unnecessary_nullable_json_reporter.dart'; +import 'unnecessary_nullable_report_params.dart'; + +final _implementedReports = < + String, + Reporter + Function( + IOSink output, +)>{ + ConsoleReporter.id: (output) => UnnecessaryNullableConsoleReporter(output), + JsonReporter.id: (output) => UnnecessaryNullableJsonReporter(output), +}; + +Reporter? + reporter({ + required String name, + required IOSink output, +}) { + final constructor = _implementedReports[name]; + + return constructor != null ? constructor(output) : null; +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/console/unnecessary_nullable_console_reporter.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/console/unnecessary_nullable_console_reporter.dart new file mode 100644 index 0000000000..a9b2db7ef4 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/console/unnecessary_nullable_console_reporter.dart @@ -0,0 +1,62 @@ +import 'dart:io'; + +import '../../../../../reporters/models/console_reporter.dart'; +import '../../../models/unnecessary_nullable_file_report.dart'; +import '../../unnecessary_nullable_report_params.dart'; + +/// Unnecessary nullable console reporter. +/// +/// Use it to create reports in console format. +class UnnecessaryNullableConsoleReporter extends ConsoleReporter< + UnnecessaryNullableFileReport, void, UnnecessaryNullableReportParams> { + UnnecessaryNullableConsoleReporter(IOSink output) : super(output); + + @override + Future report( + Iterable records, { + Iterable summary = const [], + UnnecessaryNullableReportParams? additionalParams, + }) async { + if (records.isEmpty) { + if (additionalParams?.congratulate ?? true) { + output + .writeln('${okPen('✔')} no unnecessary nullable parameters found!'); + } + + return; + } + + final sortedRecords = records.toList() + ..sort((a, b) => a.relativePath.compareTo(b.relativePath)); + + var warnings = 0; + + for (final analysisRecord in sortedRecords) { + output.writeln('${analysisRecord.relativePath}:'); + + for (final issue in analysisRecord.issues) { + final line = issue.location.line; + final column = issue.location.column; + final path = analysisRecord.relativePath; + + final offset = ''.padRight(3); + final pathOffset = offset.padRight(5); + + output + ..writeln( + '$offset ${warningPen('⚠')} ${issue.declarationType} ${issue.declarationName} has unnecessary nullable parameters', + ) + ..writeln('$pathOffset ${issue.parameters}') + ..writeln('$pathOffset at $path:$line:$column'); + } + + warnings += analysisRecord.issues.length; + + output.writeln(''); + } + + output.writeln( + '${alarmPen('✖')} total declarations (functions, methods and constructors) with unnecessary nullable parameters - ${alarmPen(warnings)}', + ); + } +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/json/unnecessary_nullable_json_reporter.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/json/unnecessary_nullable_json_reporter.dart new file mode 100644 index 0000000000..c6ba407cde --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/json/unnecessary_nullable_json_reporter.dart @@ -0,0 +1,52 @@ +import 'dart:convert'; +import 'dart:io'; + +import '../../../../../reporters/models/json_reporter.dart'; +import '../../../models/unnecessary_nullable_file_report.dart'; +import '../../../models/unnecessary_nullable_issue.dart'; +import '../../unnecessary_nullable_report_params.dart'; + +/// Unnecessary nullable JSON reporter. +/// +/// Use it to create reports in JSON format. +class UnnecessaryNullableJsonReporter extends JsonReporter< + UnnecessaryNullableFileReport, void, UnnecessaryNullableReportParams> { + const UnnecessaryNullableJsonReporter(IOSink output) : super(output, 2); + + @override + Future report( + Iterable records, { + Iterable summary = const [], + UnnecessaryNullableReportParams? additionalParams, + }) async { + if (records.isEmpty) { + return; + } + + final encodedReport = json.encode({ + 'formatVersion': formatVersion, + 'timestamp': getTimestamp(), + 'unnecessaryNullable': + records.map(_unnecessaryNullableFileReportToJson).toList(), + }); + + output.write(encodedReport); + } + + Map _unnecessaryNullableFileReportToJson( + UnnecessaryNullableFileReport report, + ) => + { + 'path': report.relativePath, + 'issues': report.issues.map(_issueToJson).toList(), + }; + + Map _issueToJson(UnnecessaryNullableIssue issue) => { + 'declarationType': issue.declarationType, + 'declarationName': issue.declarationName, + 'parameters': issue.parameters, + 'column': issue.location.column, + 'line': issue.location.line, + 'offset': issue.location.offset, + }; +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/unnecessary_nullable_report_params.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/unnecessary_nullable_report_params.dart new file mode 100644 index 0000000000..ef1084ca8c --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/unnecessary_nullable_report_params.dart @@ -0,0 +1,6 @@ +/// Represents additional unnecessary nullable reporter params. +class UnnecessaryNullableReportParams { + final bool congratulate; + + const UnnecessaryNullableReportParams({required this.congratulate}); +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analysis_config.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analysis_config.dart new file mode 100644 index 0000000000..9f49506874 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analysis_config.dart @@ -0,0 +1,12 @@ +import 'package:glob/glob.dart'; + +/// Represents converted unused code config which contains parsed entities. +class UnnecessaryNullableAnalysisConfig { + final Iterable globalExcludes; + final Iterable analyzerExcludedPatterns; + + const UnnecessaryNullableAnalysisConfig( + this.globalExcludes, + this.analyzerExcludedPatterns, + ); +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer.dart new file mode 100644 index 0000000000..b0562a8669 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer.dart @@ -0,0 +1,292 @@ +import 'dart:io'; + +import 'package:analyzer/dart/analysis/analysis_context.dart'; +import 'package:analyzer/dart/analysis/results.dart'; +import 'package:analyzer/dart/analysis/utilities.dart'; +import 'package:analyzer/dart/ast/ast.dart'; +import 'package:analyzer/dart/element/element.dart'; +import 'package:analyzer/dart/element/nullability_suffix.dart'; +// ignore: implementation_imports +import 'package:analyzer/src/dart/element/element.dart'; +import 'package:collection/collection.dart'; +import 'package:path/path.dart'; +import 'package:source_span/source_span.dart'; + +import '../../config_builder/config_builder.dart'; +import '../../config_builder/models/analysis_options.dart'; +import '../../reporters/models/reporter.dart'; +import '../../utils/analyzer_utils.dart'; +import 'declarations_visitor.dart'; +import 'invocations_visitor.dart'; +import 'models/invocations_usage.dart'; +import 'models/unnecessary_nullable_file_report.dart'; +import 'models/unnecessary_nullable_issue.dart'; +import 'reporters/reporter_factory.dart'; +import 'reporters/unnecessary_nullable_report_params.dart'; +import 'unnecessary_nullable_analysis_config.dart'; +import 'unnecessary_nullable_config.dart'; + +/// The analyzer responsible for collecting unnecessary nullable parameters reports. +class UnnecessaryNullableAnalyzer { + const UnnecessaryNullableAnalyzer(); + + /// Returns a reporter for the given [name]. Use the reporter + /// to convert analysis reports to console, JSON or other supported format. + Reporter? getReporter({ + required String name, + required IOSink output, + }) => + reporter( + name: name, + output: output, + ); + + /// Returns a list of unnecessary nullable parameters reports + /// for analyzing all files in the given [folders]. + /// The analysis is configured with the [config]. + Future> runCliAnalysis( + Iterable folders, + String rootFolder, + UnnecessaryNullableConfig config, { + String? sdkPath, + }) async { + final collection = + createAnalysisContextCollection(folders, rootFolder, sdkPath); + + final invocationsUsages = InvocationsUsage(); + final declarationsUsages = {}; + + for (final context in collection.contexts) { + final unnecessaryNullableAnalysisConfig = + await _getAnalysisConfig(context, rootFolder, config); + + final filePaths = getFilePaths( + folders, + context, + rootFolder, + unnecessaryNullableAnalysisConfig.globalExcludes, + ); + + final analyzedFiles = + filePaths.intersection(context.contextRoot.analyzedFiles().toSet()); + for (final filePath in analyzedFiles) { + final unit = await context.currentSession.getResolvedUnit(filePath); + + final invocationsUsage = _analyzeInvocationsUsage(unit); + if (invocationsUsage != null) { + invocationsUsages.merge(invocationsUsage); + } + + declarationsUsages[filePath] = _analyzeDeclarationsUsage(unit); + } + + final notAnalyzedFiles = filePaths.difference(analyzedFiles); + for (final filePath in notAnalyzedFiles) { + if (unnecessaryNullableAnalysisConfig.analyzerExcludedPatterns + .any((pattern) => pattern.matches(filePath))) { + final unit = await resolveFile2(path: filePath); + + final invocationsUsage = _analyzeInvocationsUsage(unit); + if (invocationsUsage != null) { + invocationsUsages.merge(invocationsUsage); + } + } + } + } + + if (!config.isMonorepo) { + invocationsUsages.exports.forEach(declarationsUsages.remove); + } + + return _getReports(invocationsUsages, declarationsUsages, rootFolder); + } + + Future _getAnalysisConfig( + AnalysisContext context, + String rootFolder, + UnnecessaryNullableConfig config, + ) async { + final analysisOptions = analysisOptionsFromContext(context) ?? + analysisOptionsFromFilePath(rootFolder, context); + + final contextConfig = + ConfigBuilder.getUnnecessaryNullableConfigFromOption(analysisOptions) + .merge(config); + + return ConfigBuilder.getUnnecessaryNullableConfig( + contextConfig, + rootFolder, + ); + } + + InvocationsUsage? _analyzeInvocationsUsage(SomeResolvedUnitResult unit) { + if (unit is ResolvedUnitResult) { + final visitor = InvocationsVisitor(); + unit.unit.visitChildren(visitor); + + return visitor.invocationsUsages; + } + + return null; + } + + DeclarationUsages _analyzeDeclarationsUsage(SomeResolvedUnitResult unit) { + if (unit is ResolvedUnitResult) { + final visitor = DeclarationsVisitor(); + unit.unit.visitChildren(visitor); + + return visitor.declarations; + } + + return {}; + } + + Iterable _getReports( + InvocationsUsage invocationsUsage, + Map declarationsByPath, + String rootFolder, + ) { + final unnecessaryNullableReports = []; + + declarationsByPath.forEach((path, elements) { + final issues = []; + + for (final entry in elements.entries) { + final issue = _getUnnecessaryNullableIssues( + invocationsUsage, + entry.key, + entry.value, + ); + if (issue != null) { + issues.add(issue); + } + } + + final relativePath = relative(path, from: rootFolder); + + if (issues.isNotEmpty) { + unnecessaryNullableReports.add(UnnecessaryNullableFileReport( + path: path, + relativePath: relativePath, + issues: issues, + )); + } + }); + + return unnecessaryNullableReports; + } + + UnnecessaryNullableIssue? _getUnnecessaryNullableIssues( + InvocationsUsage invocationsUsage, + Element element, + Iterable parameters, + ) { + final usages = invocationsUsage.elements[element]; + final unit = element.thisOrAncestorOfType(); + if (usages == null || unit == null) { + return null; + } + + final markedParameters = {}; + + final notNamedParameters = + parameters.where((parameter) => !parameter.isNamed).toList(); + + for (final usage in usages) { + final namedArguments = + usage.arguments.whereType().toList(); + final notNamedArguments = + usage.arguments.whereNot((arg) => arg is NamedExpression).toList(); + + for (final parameter in parameters) { + final relatedArgument = _findRelatedArgument( + parameter, + namedArguments, + notNamedArguments, + notNamedParameters, + ); + + if (relatedArgument == null || + _shouldMarkParameterAsNullable(relatedArgument)) { + markedParameters.add(parameter); + } + } + } + + final unnecessaryNullable = parameters.where( + (parameter) => + !markedParameters.contains(parameter) && + parameter.declaredElement?.type.nullabilitySuffix == + NullabilitySuffix.question, + ); + + if (unnecessaryNullable.isEmpty) { + return null; + } + + return _createUnnecessaryNullableIssue( + element as ElementImpl, + unit, + unnecessaryNullable, + ); + } + + Expression? _findRelatedArgument( + FormalParameter parameter, + List namedArguments, + List notNamedArguments, + List notNamedParameters, + ) { + if (parameter.isNamed) { + return namedArguments.firstWhereOrNull((arg) => + arg is NamedExpression && + arg.name.label.name == parameter.identifier?.name); + } + + final parameterIndex = notNamedParameters.indexOf(parameter); + + return notNamedArguments + .whereNot((element) => element is NamedExpression) + .firstWhereIndexedOrNull((index, _) => index == parameterIndex); + } + + bool _shouldMarkParameterAsNullable(Expression argument) { + if (argument is NamedExpression) { + return _shouldMarkParameterAsNullable(argument.expression); + } + + final staticType = argument.staticType; + + final isNullable = argument is NullLiteral || + (staticType != null && + (staticType.isDynamic || + staticType.nullabilitySuffix == NullabilitySuffix.question)); + + return isNullable; + } + + UnnecessaryNullableIssue _createUnnecessaryNullableIssue( + ElementImpl element, + CompilationUnitElement unit, + Iterable parameters, + ) { + final offset = element.codeOffset!; + final lineInfo = unit.lineInfo; + final offsetLocation = lineInfo.getLocation(offset); + + final sourceUrl = element.source!.uri; + + return UnnecessaryNullableIssue( + declarationName: element.displayName, + declarationType: element.kind.displayName, + parameters: parameters.map((parameter) => parameter.toString()), + location: SourceLocation( + offset, + sourceUrl: sourceUrl, + line: offsetLocation.lineNumber, + column: offsetLocation.columnNumber, + ), + ); + } +} diff --git a/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_config.dart b/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_config.dart new file mode 100644 index 0000000000..2981deed68 --- /dev/null +++ b/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_config.dart @@ -0,0 +1,50 @@ +import '../../config_builder/models/analysis_options.dart'; + +/// Represents raw unused code config which can be merged with other raw configs. +class UnnecessaryNullableConfig { + final Iterable excludePatterns; + final Iterable analyzerExcludePatterns; + final bool isMonorepo; + + const UnnecessaryNullableConfig({ + required this.excludePatterns, + required this.analyzerExcludePatterns, + required this.isMonorepo, + }); + + /// Creates the config from analysis [options]. + factory UnnecessaryNullableConfig.fromAnalysisOptions( + AnalysisOptions options, + ) => + UnnecessaryNullableConfig( + excludePatterns: const [], + analyzerExcludePatterns: + options.readIterableOfString(['analyzer', 'exclude']), + isMonorepo: false, + ); + + /// Creates the config from cli args. + factory UnnecessaryNullableConfig.fromArgs( + Iterable excludePatterns, { + required bool isMonorepo, + }) => + UnnecessaryNullableConfig( + excludePatterns: excludePatterns, + analyzerExcludePatterns: const [], + isMonorepo: isMonorepo, + ); + + /// Merges two configs into a single one. + /// + /// Config coming from [overrides] has a higher priority + /// and overrides conflicting entries. + UnnecessaryNullableConfig merge(UnnecessaryNullableConfig overrides) => + UnnecessaryNullableConfig( + excludePatterns: {...excludePatterns, ...overrides.excludePatterns}, + analyzerExcludePatterns: { + ...analyzerExcludePatterns, + ...overrides.analyzerExcludePatterns, + }, + isMonorepo: isMonorepo || overrides.isMonorepo, + ); +} diff --git a/lib/src/analyzers/unused_code_analyzer/unused_code_analyzer.dart b/lib/src/analyzers/unused_code_analyzer/unused_code_analyzer.dart index a9d0183f9c..3d21f9f59a 100644 --- a/lib/src/analyzers/unused_code_analyzer/unused_code_analyzer.dart +++ b/lib/src/analyzers/unused_code_analyzer/unused_code_analyzer.dart @@ -217,9 +217,7 @@ class UnusedCodeAnalyzer { CompilationUnitElement unit, ) { final offset = element.codeOffset!; - - // ignore: unnecessary_non_null_assertion - final lineInfo = unit.lineInfo!; + final lineInfo = unit.lineInfo; final offsetLocation = lineInfo.getLocation(offset); final sourceUrl = element.source!.uri; diff --git a/lib/src/analyzers/unused_code_analyzer/used_code_visitor.dart b/lib/src/analyzers/unused_code_analyzer/used_code_visitor.dart index e2eeb05d36..36bed08c63 100644 --- a/lib/src/analyzers/unused_code_analyzer/used_code_visitor.dart +++ b/lib/src/analyzers/unused_code_analyzer/used_code_visitor.dart @@ -130,7 +130,7 @@ class UsedCodeVisitor extends RecursiveAstVisitor { /// Records use of a not prefixed [element]. void _recordUsedElement(Element element) { - // // Ignore if an unknown library. + // Ignore if an unknown library. final containingLibrary = element.library; if (containingLibrary == null) { return; diff --git a/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_analyzer.dart b/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_analyzer.dart index 4361b00c91..38c767fceb 100644 --- a/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_analyzer.dart +++ b/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_analyzer.dart @@ -232,9 +232,7 @@ class UnusedL10nAnalyzer { CompilationUnitElement unit, ) { final offset = element.codeOffset!; - - // ignore: unnecessary_non_null_assertion - final lineInfo = unit.lineInfo!; + final lineInfo = unit.lineInfo; final offsetLocation = lineInfo.getLocation(offset); final sourceUrl = element.source!.uri; diff --git a/lib/src/cli/cli_runner.dart b/lib/src/cli/cli_runner.dart index 6bc57cec12..ec94d028f4 100644 --- a/lib/src/cli/cli_runner.dart +++ b/lib/src/cli/cli_runner.dart @@ -4,6 +4,7 @@ import 'package:args/command_runner.dart'; import '../version.dart'; import 'commands/analyze_command.dart'; +import 'commands/check_unnecessary_nullable_command.dart'; import 'commands/check_unused_code_command.dart'; import 'commands/check_unused_files_command.dart'; import 'commands/check_unused_l10n_command.dart'; @@ -17,6 +18,7 @@ class CliRunner extends CommandRunner { CheckUnusedFilesCommand(), CheckUnusedL10nCommand(), CheckUnusedCodeCommand(), + CheckUnnecessaryNullableCommand(), ]; final IOSink _output; diff --git a/lib/src/cli/commands/check_unnecessary_nullable_command.dart b/lib/src/cli/commands/check_unnecessary_nullable_command.dart new file mode 100644 index 0000000000..3fe3fd90fe --- /dev/null +++ b/lib/src/cli/commands/check_unnecessary_nullable_command.dart @@ -0,0 +1,110 @@ +// ignore_for_file: public_member_api_docs + +import 'dart:io'; + +import '../../analyzers/unnecessary_nullable_analyzer/reporters/unnecessary_nullable_report_params.dart'; +import '../../analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer.dart'; +import '../../config_builder/config_builder.dart'; +import '../models/flag_names.dart'; +import 'base_command.dart'; + +class CheckUnnecessaryNullableCommand extends BaseCommand { + static const _analyzer = UnnecessaryNullableAnalyzer(); + + @override + String get name => 'check-unnecessary-nullable'; + + @override + String get description => + 'Check unnecessary nullable parameters in functions, methods, constructors.'; + + @override + String get invocation => + '${runner?.executableName} $name [arguments] '; + + CheckUnnecessaryNullableCommand() { + _addFlags(); + } + + @override + Future runCommand() async { + final rootFolder = argResults[FlagNames.rootFolder] as String; + final folders = argResults.rest; + final excludePath = argResults[FlagNames.exclude] as String; + final reporterName = argResults[FlagNames.reporter] as String; + final isMonorepo = argResults[FlagNames.isMonorepo] as bool; + final noCongratulate = argResults[FlagNames.noCongratulate] as bool; + + final config = ConfigBuilder.getUnnecessaryNullableConfigFromArgs( + [excludePath], + isMonorepo: isMonorepo, + ); + + final unusedCodeResult = await _analyzer.runCliAnalysis( + folders, + rootFolder, + config, + sdkPath: findSdkPath(), + ); + + await _analyzer + .getReporter( + name: reporterName, + output: stdout, + ) + ?.report( + unusedCodeResult, + additionalParams: + UnnecessaryNullableReportParams(congratulate: !noCongratulate), + ); + + if (unusedCodeResult.isNotEmpty && + (argResults[FlagNames.fatalOnFound] as bool)) { + exit(1); + } + } + + void _addFlags() { + _usesReporterOption(); + addCommonFlags(); + _usesIsMonorepoOption(); + _usesExitOption(); + } + + void _usesReporterOption() { + argParser + ..addSeparator('') + ..addOption( + FlagNames.reporter, + abbr: 'r', + help: 'The format of the output of the analysis.', + valueHelp: FlagNames.consoleReporter, + allowed: [ + FlagNames.consoleReporter, + FlagNames.jsonReporter, + ], + defaultsTo: FlagNames.consoleReporter, + ); + } + + void _usesIsMonorepoOption() { + argParser + ..addSeparator('') + ..addFlag( + FlagNames.isMonorepo, + help: + 'Treats all exported code with parameters as non-nullable by default.', + ); + } + + void _usesExitOption() { + argParser + ..addSeparator('') + ..addFlag( + FlagNames.fatalOnFound, + help: 'Treat found unnecessary nullable parameters as fatal.', +// TODO(dkrutrkikh): activate on next major version +// defaultsTo: true, + ); + } +} diff --git a/lib/src/cli/models/flag_names.dart b/lib/src/cli/models/flag_names.dart index 3101f88ad3..9645aa2a72 100644 --- a/lib/src/cli/models/flag_names.dart +++ b/lib/src/cli/models/flag_names.dart @@ -33,5 +33,6 @@ class FlagNames { static const l10nClassPattern = 'class-pattern'; static const fatalOnUnused = 'fatal-unused'; + static const fatalOnFound = 'fatal-found'; static const deleteFiles = 'delete-files'; } diff --git a/lib/src/config_builder/config_builder.dart b/lib/src/config_builder/config_builder.dart index 1596cb16bc..92466dcabe 100644 --- a/lib/src/config_builder/config_builder.dart +++ b/lib/src/config_builder/config_builder.dart @@ -5,6 +5,8 @@ import '../analyzers/lint_analyzer/metrics/metrics_factory.dart'; import '../analyzers/lint_analyzer/metrics/models/metric.dart'; import '../analyzers/lint_analyzer/models/entity_type.dart'; import '../analyzers/lint_analyzer/rules/rules_factory.dart'; +import '../analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analysis_config.dart'; +import '../analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_config.dart'; import '../analyzers/unused_code_analyzer/unused_code_analysis_config.dart'; import '../analyzers/unused_code_analyzer/unused_code_config.dart'; import '../analyzers/unused_files_analyzer/unused_files_analysis_config.dart'; @@ -137,4 +139,30 @@ class ConfigBuilder { prepareExcludes(config.analyzerExcludePatterns, rootPath), config.classPattern, ); + + /// Creates a raw unnecessary nullable config from given [excludePatterns]. + static UnnecessaryNullableConfig getUnnecessaryNullableConfigFromArgs( + Iterable excludePatterns, { + required bool isMonorepo, + }) => + UnnecessaryNullableConfig.fromArgs( + excludePatterns, + isMonorepo: isMonorepo, + ); + + /// Creates a raw unnecessary nullable config from given [options]. + static UnnecessaryNullableConfig getUnnecessaryNullableConfigFromOption( + AnalysisOptions options, + ) => + UnnecessaryNullableConfig.fromAnalysisOptions(options); + + /// Creates an unnecessary nullable config from given raw [config]. + static UnnecessaryNullableAnalysisConfig getUnnecessaryNullableConfig( + UnnecessaryNullableConfig config, + String rootPath, + ) => + UnnecessaryNullableAnalysisConfig( + prepareExcludes(config.excludePatterns, rootPath), + prepareExcludes(config.analyzerExcludePatterns, rootPath), + ); } diff --git a/test/resources/unnecessary_nullable_analyzer/generated/some_file.freezed.dart b/test/resources/unnecessary_nullable_analyzer/generated/some_file.freezed.dart new file mode 100644 index 0000000000..1c55e9d4b2 --- /dev/null +++ b/test/resources/unnecessary_nullable_analyzer/generated/some_file.freezed.dart @@ -0,0 +1,3 @@ +void freeze() { + print('brr'); +} diff --git a/test/resources/unnecessary_nullable_analyzer/nullable_class_parameters.dart b/test/resources/unnecessary_nullable_analyzer/nullable_class_parameters.dart new file mode 100644 index 0000000000..821930aab3 --- /dev/null +++ b/test/resources/unnecessary_nullable_analyzer/nullable_class_parameters.dart @@ -0,0 +1,25 @@ +class NullableClassParameters { + final String? value; + + const NullableClassParameters(this.value); +} + +// LINT +class AlwaysUsedAsNonNullable { + final String? anotherValue; + + const AlwaysUsedAsNonNullable(this.anotherValue); +} + +class DefaultNonNullable { + final String value; + + const DefaultNonNullable({this.value = '123'}); +} + +// LINT +class NamedNonNullable { + final String? value; + + const NamedNonNullable({this.value}); +} diff --git a/test/resources/unnecessary_nullable_analyzer/nullable_function_parameters.dart b/test/resources/unnecessary_nullable_analyzer/nullable_function_parameters.dart new file mode 100644 index 0000000000..1d3cd9af30 --- /dev/null +++ b/test/resources/unnecessary_nullable_analyzer/nullable_function_parameters.dart @@ -0,0 +1,30 @@ +// ignore_for_file: avoid-unused-parameters, no-empty-block + +void doSomething(String? value) {} + +// LINT +void alwaysNonNullableDoSomething(String? anotherValue) {} + +void multipleParametersUsed( + String value, + int anotherValue, { + required String? name, + String? secondName, + String? thirdName, +}) {} + +// LINT +void multipleParametersWithNamed( + String? value, + int anotherValue, { + required String? name, + String? secondName, +}) {} + +// LINT +void multipleParametersWithOptional( + String? value, + int anotherValue, [ + String? name, + String? secondName, +]) {} diff --git a/test/resources/unnecessary_nullable_analyzer/nullable_method_parameters.dart b/test/resources/unnecessary_nullable_analyzer/nullable_method_parameters.dart new file mode 100644 index 0000000000..6c0993fe1d --- /dev/null +++ b/test/resources/unnecessary_nullable_analyzer/nullable_method_parameters.dart @@ -0,0 +1,22 @@ +// ignore_for_file: avoid-unused-parameters, no-empty-block + +class ClassWithMethods { + void someMethod(String? value) {} + + // LINT + void alwaysNonNullable(String? anotherValue) {} + + void multipleParametersUsed( + String value, + int anotherValue, { + required String? name, + }) {} + + // LINT + void multipleParametersWithNamed( + String? value, + int anotherValue, { + required String? name, + String? secondName, + }) {} +} diff --git a/test/resources/unnecessary_nullable_analyzer/unnecessary_nullabe_example.dart b/test/resources/unnecessary_nullable_analyzer/unnecessary_nullabe_example.dart new file mode 100644 index 0000000000..07b18aad7f --- /dev/null +++ b/test/resources/unnecessary_nullable_analyzer/unnecessary_nullabe_example.dart @@ -0,0 +1,47 @@ +// ignore_for_file: cascade_invocations, unused_local_variable, prefer_const_declarations + +import 'nullable_class_parameters.dart'; +import 'nullable_function_parameters.dart'; +import 'nullable_method_parameters.dart'; + +void main() { + final withMethods = ClassWithMethods(); + final nullableWrapper = _Test(); + final map = {'123': '321'}; + + withMethods + ..someMethod(null) + ..someMethod('value'); + + withMethods.alwaysNonNullable('anotherValue'); + + withMethods.multipleParametersUsed('123', 1, name: 'null'); + withMethods.multipleParametersUsed('123', 1, name: null); + + withMethods.multipleParametersWithNamed('value', 1, name: 'name'); + + final nonNullableConstructor = const AlwaysUsedAsNonNullable('anotherValue'); + final nullableConstructor = const NullableClassParameters(null); + final defaultNonNullable = const DefaultNonNullable(value: '321'); + final namedNonNullable = const NamedNonNullable(value: '123'); + + doSomething(_getNullableString()); + doSomething(map['321']); + doSomething('value'); + + alwaysNonNullableDoSomething('anotherValue'); + + multipleParametersUsed('str', 1, name: nullableWrapper.level.uri); + multipleParametersUsed('str', 1, name: 'name', secondName: 'secondName'); + multipleParametersUsed('str', 1, name: 'name', thirdName: 'thirdName'); + + multipleParametersWithNamed('name', 1, name: 'secondName'); + multipleParametersWithOptional('name', 1, 'secondName'); +} + +class _Test { + _Test get level => _Test(); + String? get uri => null; +} + +String? _getNullableString() => null; diff --git a/test/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer_test.dart b/test/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer_test.dart new file mode 100644 index 0000000000..9cdd17c774 --- /dev/null +++ b/test/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer_test.dart @@ -0,0 +1,143 @@ +import 'dart:io'; + +import 'package:dart_code_metrics/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_file_report.dart'; +import 'package:dart_code_metrics/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/console/unnecessary_nullable_console_reporter.dart'; +import 'package:dart_code_metrics/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer.dart'; +import 'package:dart_code_metrics/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_config.dart'; +import 'package:path/path.dart'; +import 'package:test/test.dart'; + +void main() { + group( + 'UnnecessaryNullableAnalyzer', + () { + const analyzer = UnnecessaryNullableAnalyzer(); + const rootDirectory = ''; + const analyzerExcludes = [ + 'test/resources/unnecessary_nullable_analyzer/generated/**', + ]; + final folders = [ + normalize( + File('test/resources/unnecessary_nullable_analyzer').absolute.path, + ), + ]; + + group('run analysis', () { + late final Iterable result; + + setUpAll(() async { + final config = + _createConfig(analyzerExcludePatterns: analyzerExcludes); + + result = await analyzer.runCliAnalysis( + folders, + rootDirectory, + config, + ); + }); + + test('should report 3 files and not report excluded file', () { + expect(result, hasLength(3)); + }); + + test('should analyze nullable class parameters', () async { + final report = result.firstWhere((report) => + report.path.endsWith('nullable_class_parameters.dart')); + + expect(report.issues, hasLength(2)); + + final firstIssue = report.issues.first; + expect(firstIssue.declarationName, 'AlwaysUsedAsNonNullable'); + expect(firstIssue.declarationType, 'constructor'); + expect(firstIssue.parameters.toString(), '(this.anotherValue)'); + expect(firstIssue.location.line, 11); + expect(firstIssue.location.column, 3); + + final secondIssue = report.issues.last; + expect(secondIssue.declarationName, 'NamedNonNullable'); + expect(secondIssue.declarationType, 'constructor'); + expect(secondIssue.parameters.toString(), '(this.value)'); + expect(secondIssue.location.line, 24); + expect(secondIssue.location.column, 3); + }); + + test('should analyze nullable method parameters', () async { + final report = result.firstWhere( + (report) => report.path.endsWith('nullable_method_parameters.dart'), + ); + + expect(report.issues, hasLength(2)); + + final firstIssue = report.issues.first; + expect(firstIssue.declarationName, 'alwaysNonNullable'); + expect(firstIssue.declarationType, 'method'); + expect(firstIssue.parameters.toString(), '(String? anotherValue)'); + expect(firstIssue.location.line, 7); + expect(firstIssue.location.column, 3); + + final secondIssue = report.issues.last; + expect(secondIssue.declarationName, 'multipleParametersWithNamed'); + expect(secondIssue.declarationType, 'method'); + expect( + secondIssue.parameters.toString(), + '(String? value, required String? name)', + ); + expect(secondIssue.location.line, 16); + expect(secondIssue.location.column, 3); + }); + + test('should analyze nullable function parameters', () async { + final report = result.firstWhere( + (report) => + report.path.endsWith('nullable_function_parameters.dart'), + ); + + expect(report.issues, hasLength(3)); + + final firstIssue = report.issues.first; + expect(firstIssue.declarationName, 'alwaysNonNullableDoSomething'); + expect(firstIssue.declarationType, 'function'); + expect(firstIssue.parameters.toString(), '(String? anotherValue)'); + expect(firstIssue.location.line, 6); + expect(firstIssue.location.column, 1); + + final secondIssue = report.issues.elementAt(1); + expect(secondIssue.declarationName, 'multipleParametersWithNamed'); + expect(secondIssue.declarationType, 'function'); + expect( + secondIssue.parameters.toString(), + '(String? value, required String? name)', + ); + expect(secondIssue.location.line, 17); + expect(secondIssue.location.column, 1); + + final thirdIssue = report.issues.elementAt(2); + expect(thirdIssue.declarationName, 'multipleParametersWithOptional'); + expect(thirdIssue.declarationType, 'function'); + expect( + thirdIssue.parameters.toString(), + '(String? value, String? name)', + ); + expect(thirdIssue.location.line, 25); + expect(thirdIssue.location.column, 1); + }); + }); + + test('should return a reporter', () { + final reporter = analyzer.getReporter(name: 'console', output: stdout); + + expect(reporter, isA()); + }); + }, + testOn: 'posix', + ); +} + +UnnecessaryNullableConfig _createConfig({ + Iterable analyzerExcludePatterns = const [], +}) => + UnnecessaryNullableConfig( + excludePatterns: const [], + analyzerExcludePatterns: analyzerExcludePatterns, + isMonorepo: false, + ); diff --git a/test/src/cli/commands/check_unnecessary_nullable_command_test.dart b/test/src/cli/commands/check_unnecessary_nullable_command_test.dart new file mode 100644 index 0000000000..361908b084 --- /dev/null +++ b/test/src/cli/commands/check_unnecessary_nullable_command_test.dart @@ -0,0 +1,65 @@ +import 'package:dart_code_metrics/src/cli/cli_runner.dart'; +import 'package:path/path.dart' as p; +import 'package:test/test.dart'; + +const _usage = + 'Check unnecessary nullable parameters in functions, methods, constructors.\n' + '\n' + 'Usage: metrics check-unnecessary-nullable [arguments] \n' + '-h, --help Print this usage information.\n' + '\n' + '\n' + '-r, --reporter= The format of the output of the analysis.\n' + ' [console (default), json]\n' + '\n' + '\n' + ' --root-folder=<./> Root folder.\n' + ' (defaults to current directory)\n' + ' --sdk-path= Dart SDK directory path. Should be provided only when you run the application as compiled executable(https://dart.dev/tools/dart-compile#exe) and automatic Dart SDK path detection fails.\n' + ' --exclude=<{/**.g.dart,/**.template.dart}> File paths in Glob syntax to be exclude.\n' + ' (defaults to "{/**.g.dart,/**.template.dart}")\n' + '\n' + '\n' + " --no-congratulate Don't show output even when there are no issues.\n" + '\n' + '\n' + ' --[no-]monorepo Treats all exported code with parameters as non-nullable by default.\n' + '\n' + '\n' + ' --[no-]fatal-found Treat found unnecessary nullable parameters as fatal.\n' + '\n' + 'Run "metrics help" to see global options.'; + +void main() { + group('CheckUnnecessaryNullableCommand', () { + final runner = CliRunner(); + final command = runner.commands['check-unnecessary-nullable']; + + test('should have correct name', () { + expect(command?.name, equals('check-unnecessary-nullable')); + }); + + test('should have correct description', () { + expect( + command?.description, + equals( + 'Check unnecessary nullable parameters in functions, methods, constructors.', + ), + ); + }); + + test('should have correct invocation', () { + expect( + command?.invocation, + equals('metrics check-unnecessary-nullable [arguments] '), + ); + }); + + test('should have correct usage', () { + expect( + command?.usage.replaceAll('"${p.current}"', 'current directory'), + equals(_usage), + ); + }); + }); +} diff --git a/website/docs/cli/check-unnecessary-nullable.md b/website/docs/cli/check-unnecessary-nullable.md new file mode 100644 index 0000000000..acef2b032e --- /dev/null +++ b/website/docs/cli/check-unnecessary-nullable.md @@ -0,0 +1,113 @@ +# Check unnecessary nullable parameters + +Check unnecessary nullable parameters in functions, methods, constructors. Removing unnecessary nullables can help reduce amount of checks in the code. + +To execute the command, run + +```sh +$ dart run dart_code_metrics:metrics check-unnecessary-nullable lib + +# or for a Flutter package +$ flutter pub run dart_code_metrics:metrics check-unnecessary-nullable lib +``` + +Full command description: + +```text +Usage: metrics check-unnecessary-nullable [arguments] +-h, --help Print this usage information. + + +-r, --reporter= The format of the output of the analysis. + [console (default), json] + + + --root-folder=<./> Root folder. + (defaults to current directory) + --sdk-path= Dart SDK directory path. Should be provided only when you run the application as compiled executable(https://dart.dev/tools/dart-compile#exe) and automatic Dart SDK path detection fails. + --exclude=<{/**.g.dart,/**.template.dart}> File paths in Glob syntax to be exclude. + (defaults to "{/**.g.dart,/**.template.dart}") + + + --no-congratulate Don't show output even when there are no issues. + + + --[no-]monorepo Treats all exported code with parameters as non-nullable by default. + + + --[no-]fatal-found Treat found unnecessary nullable parameters as fatal. +``` + +## Monorepo support + +By default the command treats all code that is exported from the package as used. To disable this behavior use `--monorepo` flag. This might be useful when all the packages in your repository are only used within the repository and are not published to the pub. + +## Output example {#output-example} + +### Console {#console} + +Use `--reporter=console` to enable this format. + +![Console](../../static/img/unnecessary-nullable-console-report.png) + +### JSON {#json} + +The reporter prints a single JSON object containing meta information and the unnecessary nullable parameters. Use `--reporter=json` to enable this format. + +#### The **root** object fields are {#the-root-object-fields-are} + +- `formatVersion` - an integer representing the format version (will be incremented each time the serialization format changes) +- `timestamp` - a creation time of the report in YYYY-MM-DD HH:MM:SS format +- `unnecessaryNullable` - an array of [unnecessary nullable issues](#the-unnecessarynullable-object-fields-are) + +```JSON +{ + "formatVersion": 2, + "timestamp": "2021-04-11 14:44:42", + "unnecessaryNullable": [ + { + ... + }, + { + ... + }, + { + ... + } + ] +} +``` + +#### The **unnecessaryNullable** object fields are {#the-unnecessarynullable-object-fields-are} + +- `path` - a relative path of the file with unnecessary nullable parameters declaration +- `issues` - an array of [issues](#the-issue-object-fields-are) detected in the target class + +```JSON +{ + "path": "lib/src/some/class.dart", + "issues": [ + ... + ], +} +``` + +#### The **issue** object fields are {#the-issue-object-fields-are} + +- `declarationName` - the name of a declaration with unnecessary nullable parameters +- `declarationType` - the type of a declaration with unnecessary nullable parameters (function, method or constructor) +- `parameters` - an array of strings representing parameters that are marked as nullable +- `offset` - a zero-based offset of the class member location in the source +- `line` - a zero-based line of the class member location in the source +- `column` - a zero-based column of class member the location in the source + +```JSON +{ + "declarationName": "someFunction", + "declarationType": "function", + "parameters": "[String? value]", + "offset": 156, + "line": 7, + "column": 1 +} +``` diff --git a/website/docs/cli/check-unused-code.md b/website/docs/cli/check-unused-code.md index 77ae70f781..777a2edf8c 100644 --- a/website/docs/cli/check-unused-code.md +++ b/website/docs/cli/check-unused-code.md @@ -27,7 +27,7 @@ Usage: metrics check-unused-code [arguments] --root-folder=<./> Root folder. (defaults to current directory) - --sdk-path= Dart SDK directory path. + --sdk-path= Dart SDK directory path. Should be provided only when you run the application as compiled executable(https://dart.dev/tools/dart-compile#exe) and automatic Dart SDK path detection fails. --exclude=<{/**.g.dart,/**.template.dart}> File paths in Glob syntax to be exclude. (defaults to "{/**.g.dart,/**.template.dart}") @@ -44,7 +44,7 @@ Usage: metrics check-unused-code [arguments] ## Monorepo support -By default the command treats all code that exported from the package as used. To disable this behavior use `--monorepo` flag. This might be useful when all the packages in your repository only unused inside this repository and not published to pub. +By default the command treats all code that is exported from the package as used. To disable this behavior use `--monorepo` flag. This might be useful when all the packages in your repository are only used within the repository and are not published to the pub. ## Output example {#output-example} diff --git a/website/docs/cli/check-unused-files.md b/website/docs/cli/check-unused-files.md index 66c8a68d37..bebc5446bd 100644 --- a/website/docs/cli/check-unused-files.md +++ b/website/docs/cli/check-unused-files.md @@ -23,7 +23,7 @@ Usage: metrics check-unused-files [arguments...] --root-folder=<./> Root folder. (defaults to current directory) - --sdk-path= Dart SDK directory path. + --sdk-path= Dart SDK directory path. Should be provided only when you run the application as compiled executable(https://dart.dev/tools/dart-compile#exe) and automatic Dart SDK path detection fails. --exclude=<{/**.g.dart,/**.template.dart}> File paths in Glob syntax to be exclude. (defaults to "{/**.g.dart,/**.template.dart}") @@ -37,6 +37,10 @@ Usage: metrics check-unused-files [arguments...] -d, --[no-]delete-files Delete all unused files. ``` +## Monorepo support + +By default the command treats all files that are exported from the package as used. To disable this behavior use `--monorepo` flag. This might be useful when all the packages in your repository are only used within the repository and are not published to the pub. + ## Output example {#output-example} ### Console {#console} diff --git a/website/package-lock.json b/website/package-lock.json index 9b8ab2f831..8ebe225abc 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -14,15 +14,15 @@ "@svgr/webpack": "^6.2.1", "clsx": "^1.1.1", "file-loader": "^6.2.0", - "react": "^18.1.0", - "react-dom": "^18.1.0", + "react": "^17.0.0", + "react-dom": "^17.0.0", "react-github-btn": "^1.3.0", "url-loader": "^4.1.1" }, "devDependencies": { "@docusaurus/module-type-aliases": "^2.0.0-beta.21", "@tsconfig/docusaurus": "^1.0.6", - "@types/react": "^18.0.12", + "@types/react": "^17.0.0", "@types/react-helmet": "^6.1.5", "@types/react-router-dom": "^5.3.3", "prettier": "2.7.1", @@ -2197,24 +2197,6 @@ "react-dom": "*" } }, - "node_modules/@docusaurus/module-type-aliases/node_modules/@docusaurus/types": { - "version": "2.0.0-beta.21", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.21.tgz", - "integrity": "sha512-/GH6Npmq81eQfMC/ikS00QSv9jNyO1RXEpNSx5GLA3sFX8Iib26g2YI2zqNplM8nyxzZ2jVBuvUoeODTIbTchQ==", - "dependencies": { - "commander": "^5.1.0", - "history": "^4.9.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.72.1", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, "node_modules/@docusaurus/preset-classic": { "version": "2.0.0-beta.21", "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.21.tgz", @@ -2725,6 +2707,24 @@ "node": ">=16.14" } }, + "node_modules/@docusaurus/types": { + "version": "2.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.21.tgz", + "integrity": "sha512-/GH6Npmq81eQfMC/ikS00QSv9jNyO1RXEpNSx5GLA3sFX8Iib26g2YI2zqNplM8nyxzZ2jVBuvUoeODTIbTchQ==", + "dependencies": { + "commander": "^5.1.0", + "history": "^4.9.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.72.1", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, "node_modules/@docusaurus/utils": { "version": "2.0.0-beta.21", "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.21.tgz", @@ -3449,9 +3449,9 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "node_modules/@types/react": { - "version": "18.0.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.12.tgz", - "integrity": "sha512-duF1OTASSBQtcigUvhuiTB1Ya3OvSy+xORCiEf20H0P0lzx+/KeVsA99U5UjLXSbyo1DRJDlLKqTeM1ngosqtg==", + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.45.tgz", + "integrity": "sha512-YfhQ22Lah2e3CHPsb93tRwIGNiSwkuz1/blk4e6QrWS0jQzCSNbGLtOEYhPg02W0yGTTmpajp7dCTbBAMN3qsg==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -3477,11 +3477,11 @@ } }, "node_modules/@types/react-router-config": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.3.tgz", - "integrity": "sha512-38vpjXic0+E2sIBEKUe+RrCmbc8RqcQhNV8OmU3KUcwgy/yzTeo67MhllP+0zjZWNr7Lhw+RnUkL0hzkf63nUQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz", + "integrity": "sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg==", "dependencies": { - "@types/history": "*", + "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router": "*" } @@ -9643,11 +9643,12 @@ } }, "node_modules/react": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz", - "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "dependencies": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" }, "engines": { "node": ">=0.10.0" @@ -9750,15 +9751,16 @@ } }, "node_modules/react-dom": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz", - "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.22.0" + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" }, "peerDependencies": { - "react": "^18.1.0" + "react": "17.0.2" } }, "node_modules/react-error-overlay": { @@ -10475,11 +10477,12 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/scheduler": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", - "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "dependencies": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "node_modules/schema-utils": { @@ -14030,22 +14033,6 @@ "@types/react-router-config": "*", "@types/react-router-dom": "*", "react-helmet-async": "*" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.0.0-beta.21", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.21.tgz", - "integrity": "sha512-/GH6Npmq81eQfMC/ikS00QSv9jNyO1RXEpNSx5GLA3sFX8Iib26g2YI2zqNplM8nyxzZ2jVBuvUoeODTIbTchQ==", - "requires": { - "commander": "^5.1.0", - "history": "^4.9.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.72.1", - "webpack-merge": "^5.8.0" - } - } } }, "@docusaurus/preset-classic": { @@ -14425,6 +14412,20 @@ "tslib": "^2.4.0" } }, + "@docusaurus/types": { + "version": "2.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.21.tgz", + "integrity": "sha512-/GH6Npmq81eQfMC/ikS00QSv9jNyO1RXEpNSx5GLA3sFX8Iib26g2YI2zqNplM8nyxzZ2jVBuvUoeODTIbTchQ==", + "requires": { + "commander": "^5.1.0", + "history": "^4.9.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.72.1", + "webpack-merge": "^5.8.0" + } + }, "@docusaurus/utils": { "version": "2.0.0-beta.21", "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.21.tgz", @@ -14958,9 +14959,9 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "@types/react": { - "version": "18.0.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.12.tgz", - "integrity": "sha512-duF1OTASSBQtcigUvhuiTB1Ya3OvSy+xORCiEf20H0P0lzx+/KeVsA99U5UjLXSbyo1DRJDlLKqTeM1ngosqtg==", + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.45.tgz", + "integrity": "sha512-YfhQ22Lah2e3CHPsb93tRwIGNiSwkuz1/blk4e6QrWS0jQzCSNbGLtOEYhPg02W0yGTTmpajp7dCTbBAMN3qsg==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -14986,11 +14987,11 @@ } }, "@types/react-router-config": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.3.tgz", - "integrity": "sha512-38vpjXic0+E2sIBEKUe+RrCmbc8RqcQhNV8OmU3KUcwgy/yzTeo67MhllP+0zjZWNr7Lhw+RnUkL0hzkf63nUQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz", + "integrity": "sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg==", "requires": { - "@types/history": "*", + "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router": "*" } @@ -19442,11 +19443,12 @@ } }, "react": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz", - "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "requires": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "react-base16-styling": { @@ -19524,12 +19526,13 @@ } }, "react-dom": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz", - "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "requires": { "loose-envify": "^1.1.0", - "scheduler": "^0.22.0" + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" } }, "react-error-overlay": { @@ -20080,11 +20083,12 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "scheduler": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", - "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "requires": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "schema-utils": { diff --git a/website/package.json b/website/package.json index 89b4d13706..fe93fbd00c 100644 --- a/website/package.json +++ b/website/package.json @@ -20,15 +20,15 @@ "@svgr/webpack": "^6.2.1", "clsx": "^1.1.1", "file-loader": "^6.2.0", - "react": "^18.1.0", - "react-dom": "^18.1.0", + "react": "^17.0.0", + "react-dom": "^17.0.0", "react-github-btn": "^1.3.0", "url-loader": "^4.1.1" }, "devDependencies": { "@docusaurus/module-type-aliases": "^2.0.0-beta.21", "@tsconfig/docusaurus": "^1.0.6", - "@types/react": "^18.0.12", + "@types/react": "^17.0.0", "@types/react-helmet": "^6.1.5", "@types/react-router-dom": "^5.3.3", "prettier": "2.7.1", diff --git a/website/static/img/unnecessary-nullable-console-report.png b/website/static/img/unnecessary-nullable-console-report.png new file mode 100644 index 0000000000000000000000000000000000000000..4e43294ee0de57a4a040e348a3b6bcee2e99e499 GIT binary patch literal 225692 zcmdqIgaJL|X>i{9ROK_Lq?t^O}1P$&4f`kNjg1bWk!QF!l?!&-u z*k|v(yL;cef51DRZn~+i>Z&>C)Y0!msw&H1JR^Aq001!LWF^%B0OSq;;K>ivr|=e> zx>*ST;JK}hgoLV`gannUtCOXTy#)Xu8=0JnqLV0x7j(rUCo5|mj4F%PiZ<~r30to~ zp1?kgE?)JuBI--eE!EDND5lvTZ*UfN(FSy}n_ZbM13u;FXGQoheHdz|Mi4myj*E@g zthA+PXQyW$XcGcPMav}u}CpaCVoswOD1768b9?ZjF3Du2~G-lLF1 ze83Jrt8mls*_i6-Pw~tiFyAH%;EP(5fej&mkB7#nDnO@uLGb3|v!d6BgjPL0FKscJRC=_h$pJ|;NiuZI5H;GIXpDW7 z7xCFQi}A7p((&CrO`K{k{iTbTqMr~S61so?5|oIlOL=M*%*rEfQ6rT>S@GfBw1xZ} zYw|rvTj+&0&VC+-JY}%G->)Bf*CFw$Tk};rh%V|OLn^riR02kVM8&eM8yc65O;r2_dHfLv>@13^ zqrHjftJ@m4{oM4(E|Ei^lYINbSpf^t>u1==vs6eN!DRK%0Dvh9R)W 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�t~yGG3281uO>tzGlP}N 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 literal 0 HcmV?d00001