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

chore: remove unused code #1157

Merged
merged 4 commits into from
Feb 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 0 additions & 64 deletions lib/src/analyzer_plugin/analyzer_plugin_utils.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart' as plugin;
import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
import 'package:source_span/source_span.dart';

import '../analyzers/lint_analyzer/lint_analysis_config.dart';
import '../analyzers/lint_analyzer/models/issue.dart';
import '../analyzers/lint_analyzer/models/severity.dart';
import '../config_builder/models/deprecated_option.dart';
import '../utils/path_utils.dart';

plugin.AnalysisErrorFixes codeIssueToAnalysisErrorFixes(
Expand Down Expand Up @@ -62,67 +59,6 @@ plugin.AnalysisErrorFixes codeIssueToAnalysisErrorFixes(
);
}

plugin.AnalysisErrorFixes metricReportToAnalysisErrorFixes(
SourceLocation startLocation,
int length,
String message,
String metricId,
) =>
plugin.AnalysisErrorFixes(plugin.AnalysisError(
plugin.AnalysisErrorSeverity.INFO,
plugin.AnalysisErrorType.LINT,
plugin.Location(
startLocation.sourceUrl!.path,
startLocation.offset,
length,
startLocation.line,
startLocation.column,
endLine: startLocation.line,
endColumn: startLocation.column,
),
message,
metricId,
hasFix: false,
));

Iterable<plugin.AnalysisErrorFixes> checkConfigDeprecatedOptions(
LintAnalysisConfig config,
Iterable<DeprecatedOption> deprecatedOptions,
String analysisOptionPath,
) {
final ids = {
...config.codeRules.map((rule) => rule.id),
...config.methodsMetrics.map((metric) => metric.id),
...config.antiPatterns.map((pattern) => pattern.id),
...config.metricsConfig.keys,
};

final location =
SourceLocation(0, sourceUrl: analysisOptionPath, line: 0, column: 0);

final documentation = Uri.parse(
'https://github.com/dart-code-checker/dart-code-metrics/blob/master/CHANGELOG.md',
);

return deprecatedOptions
.where((option) => ids.contains(option.deprecated))
.map((option) => codeIssueToAnalysisErrorFixes(
Issue(
ruleId: 'dart-code-metrics',
documentation: documentation,
location: SourceSpan(location, location, ''),
severity: Severity.warning,
message:
'${option.deprecated} deprecated option. This option will be removed in ${option.supportUntilVersion} version.',
verboseMessage: option.replacement != null
? 'Please migrate on ${option.replacement}, and restart analysis server.'
: null,
),
null,
))
.toList();
}

const _severityMapping = {
Severity.error: plugin.AnalysisErrorSeverity.ERROR,
Severity.warning: plugin.AnalysisErrorSeverity.WARNING,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import '../../../../utils/node_utils.dart';
import '../../lint_utils.dart';
import '../../metrics/metric_utils.dart';
import '../../metrics/metrics_list/source_lines_of_code/source_lines_of_code_metric.dart';
import '../../models/entity_type.dart';
import '../../models/internal_resolved_unit_result.dart';
import '../../models/issue.dart';
import '../../models/report.dart';
Expand All @@ -35,7 +34,6 @@ class LongMethod extends Pattern {
),
super(
id: patternId,
supportedType: EntityType.methodEntity,
severity: readSeverity(patternSettings, Severity.none),
excludes: readExcludes(patternSettings),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import '../../../../utils/node_utils.dart';
import '../../lint_utils.dart';
import '../../metrics/metric_utils.dart';
import '../../metrics/metrics_list/number_of_parameters_metric.dart';
import '../../models/entity_type.dart';
import '../../models/function_type.dart';
import '../../models/internal_resolved_unit_result.dart';
import '../../models/issue.dart';
Expand Down Expand Up @@ -33,7 +32,6 @@ class LongParameterList extends Pattern {
),
super(
id: patternId,
supportedType: EntityType.methodEntity,
severity: readSeverity(patternSettings, Severity.none),
excludes: readExcludes(patternSettings),
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import '../../models/entity_type.dart';
import '../../models/internal_resolved_unit_result.dart';
import '../../models/issue.dart';
import '../../models/report.dart';
Expand All @@ -13,9 +12,6 @@ abstract class Pattern {
/// The id of the pattern.
final String id;

/// The type of entities which will be analyzed by the pattern.
final EntityType supportedType;

/// The severity of issues emitted by the pattern.
final Severity severity;

Expand All @@ -27,7 +23,6 @@ abstract class Pattern {

const Pattern({
required this.id,
required this.supportedType,
required this.severity,
required this.excludes,
});
Expand Down
16 changes: 0 additions & 16 deletions lib/src/analyzers/lint_analyzer/anti_patterns/pattern_utils.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:source_span/source_span.dart';

import '../models/issue.dart';
import '../models/scoped_function_declaration.dart';
import 'models/pattern.dart';

Issue createIssue({
Expand Down Expand Up @@ -31,17 +29,3 @@ Uri documentation(Pattern pattern) => Uri(
pattern.id,
],
);

int getArgumentsCount(ScopedFunctionDeclaration dec) {
final declaration = dec.declaration;

int? argumentsCount;
if (declaration is FunctionDeclaration) {
argumentsCount =
declaration.functionExpression.parameters?.parameters.length;
} else if (declaration is MethodDeclaration) {
argumentsCount = declaration.parameters?.parameters.length;
}

return argumentsCount ?? 0;
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ final _implementedPatterns = <String, CreatePattern>{
),
};

Iterable<Pattern> get allPatterns =>
_implementedPatterns.keys.map((id) => _implementedPatterns[id]!({}, {}));

Iterable<Pattern> getPatternsById(LintConfig config) =>
List.unmodifiable(_implementedPatterns.keys
.where((id) => config.antiPatterns.keys.contains(id))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore_for_file: unused-code

/// Represents a Code Climate issue category.
class CodeClimateIssueCategory {
static const bugRisk = CodeClimateIssueCategory._('Bug Risk');
Expand Down
3 changes: 0 additions & 3 deletions lib/src/analyzers/lint_analyzer/rules/rules_factory.dart
Original file line number Diff line number Diff line change
Expand Up @@ -170,9 +170,6 @@ final _implementedRules = <String, Rule Function(Map<String, Object>)>{

Iterable<String> get allRuleIds => _implementedRules.keys;

Iterable<Rule> get allRules =>
_implementedRules.keys.map((id) => _implementedRules[id]!({}));

Iterable<Rule> getRulesById(Map<String, Map<String, Object>> rulesConfig) =>
List.unmodifiable(_implementedRules.keys
.where((id) => rulesConfig.keys.contains(id))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ const _constructorNameOnly = 'only';
class _Visitor extends RecursiveAstVisitor<void> {
final _expressions = <InstanceCreationExpression, EdgeInsetsData>{};

final _Validator validator = _Validator();

Map<InstanceCreationExpression, EdgeInsetsData> get expressions =>
_expressions;

Expand Down
11 changes: 1 addition & 10 deletions lib/src/cli/commands/analyze_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

import 'dart:io';

import 'package:collection/collection.dart';

import '../../analyzers/lint_analyzer/lint_analyzer.dart';
import '../../analyzers/lint_analyzer/metrics/metrics_factory.dart';
import '../../analyzers/lint_analyzer/metrics/models/metric_value_level.dart';
Expand All @@ -13,7 +11,6 @@ import '../../analyzers/lint_analyzer/reporters/lint_report_params.dart';
import '../../analyzers/lint_analyzer/reporters/reporters_list/json/lint_json_reporter.dart';
import '../../analyzers/lint_analyzer/utils/report_utils.dart';
import '../../config_builder/config_builder.dart';
import '../../config_builder/models/deprecated_option.dart';
import '../../logger/logger.dart';
import '../models/flag_names.dart';
import '../models/parsed_arguments.dart';
Expand Down Expand Up @@ -160,15 +157,9 @@ class AnalyzeCommand extends BaseCommand {
argParser.addSeparator('');

for (final metric in getMetrics(config: {})) {
final deprecation = deprecatedOptions
.firstWhereOrNull((option) => option.deprecated == metric.id);
final deprecationMessage = deprecation != null
? ' (deprecated, will be removed in ${deprecation.supportUntilVersion} version)'
: '';

argParser.addOption(
metric.id,
help: '${metric.documentation.name} threshold$deprecationMessage.',
help: '${metric.documentation.name} threshold.',
valueHelp: '${metric.documentation.recommendedThreshold}',
callback: (i) {
if (i != null && int.tryParse(i) == null) {
Expand Down
19 changes: 0 additions & 19 deletions lib/src/config_builder/models/deprecated_option.dart

This file was deleted.

1 change: 1 addition & 0 deletions lib/src/utils/dart_types_utils.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ bool isIterableOrSubclass(DartType? type) =>
bool isListOrSubclass(DartType? type) =>
_checkSelfOrSupertypes(type, (t) => t?.isDartCoreList ?? false);

// ignore: unused-code
bool isMapOrSubclass(DartType? type) =>
_checkSelfOrSupertypes(type, (t) => t?.isDartCoreMap ?? false);

Expand Down
37 changes: 0 additions & 37 deletions test/src/analyzer_plugin/analyzer_plugin_utils_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import 'package:mocktail/mocktail.dart';
import 'package:source_span/source_span.dart';
import 'package:test/test.dart';

class AnalysisResultMock extends Mock implements AnalysisResult {}

class ResolvedUnitResultMock extends Mock implements ResolvedUnitResult {}

void main() {
Expand Down Expand Up @@ -140,39 +138,4 @@ void main() {
testOn: 'posix',
);
});

test(
'metricReportToAnalysisErrorFixes constructs AnalysisErrorFixes from metric report',
() {
const metricMessage = 'diagnostic message';
const metricId = 'metric id';

final fixes = metricReportToAnalysisErrorFixes(
SourceLocation(
offset,
sourceUrl: Uri.parse(sourcePath),
line: line,
column: column,
),
length,
metricMessage,
metricId,
);

expect(fixes.error.severity, equals(AnalysisErrorSeverity.INFO));
expect(fixes.error.type, equals(AnalysisErrorType.LINT));
expect(fixes.error.location.file, equals(sourcePath));
expect(fixes.error.location.offset, equals(5));
expect(fixes.error.location, hasLength(length));
expect(fixes.error.location.startLine, equals(line));
expect(fixes.error.location.startColumn, equals(column));
expect(fixes.error.message, equals(metricMessage));
expect(fixes.error.code, equals(metricId));
expect(fixes.error.correction, isNull);
expect(fixes.error.url, isNull);
expect(fixes.error.contextMessages, isNull);
expect(fixes.error.hasFix, isFalse);
expect(fixes.fixes, isEmpty);
},
);
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/anti_patterns/models/pattern.dart';
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/anti_patterns/pattern_utils.dart';
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/models/function_type.dart';
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/models/scoped_function_declaration.dart';
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/models/severity.dart';
import 'package:mocktail/mocktail.dart';
import 'package:source_span/source_span.dart';
Expand Down Expand Up @@ -73,77 +70,5 @@ void main() {
equals(patternId2),
);
});

group('getArgumentsCount returns arguments count of', () {
late _FormalParameterListMock formalParameterListMock;
late _NodeListMock<FormalParameter> nodeListMock;

setUp(() {
formalParameterListMock = _FormalParameterListMock();
nodeListMock = _NodeListMock<FormalParameter>();

when(() => formalParameterListMock.parameters).thenReturn(nodeListMock);
});

test('static function', () {
final functionDeclarationMock = _FunctionDeclarationMock();
final functionExpressionMock = _FunctionExpressionMock();

when(() => functionDeclarationMock.functionExpression)
.thenReturn(functionExpressionMock);
when(() => functionExpressionMock.parameters)
.thenReturn(formalParameterListMock);
when(() => nodeListMock.length).thenReturn(1);

final declaration = ScopedFunctionDeclaration(
FunctionType.function,
functionDeclarationMock,
null,
);

expect(getArgumentsCount(declaration), equals(1));
});

test('class method', () {
final methodDeclarationMock = _MethodDeclarationMock();

final declaration = ScopedFunctionDeclaration(
FunctionType.function,
methodDeclarationMock,
null,
);

expect(getArgumentsCount(declaration), 0);

when(() => methodDeclarationMock.parameters)
.thenReturn(formalParameterListMock);
when(() => nodeListMock.length).thenReturn(2);

expect(getArgumentsCount(declaration), equals(2));
});

test('class constructor', () {
final declaration = ScopedFunctionDeclaration(
FunctionType.function,
_ConstructorDeclarationMock(),
null,
);

expect(getArgumentsCount(declaration), isZero);
});
});
});
}

class _ConstructorDeclarationMock extends Mock
implements ConstructorDeclaration {}

class _FunctionDeclarationMock extends Mock implements FunctionDeclaration {}

class _FunctionExpressionMock extends Mock implements FunctionExpression {}

class _FormalParameterListMock extends Mock implements FormalParameterList {}

class _NodeListMock<E extends AstNode> extends Mock implements NodeList<E> {}

class _MethodDeclarationMock extends Mock implements MethodDeclaration {}
Loading