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

Commit

Permalink
chore: remove unused code (#1157)
Browse files Browse the repository at this point in the history
* chore: remove unused code

* chore: update unused code diff
  • Loading branch information
incendial authored Feb 3, 2023
1 parent c3f6429 commit 7c62edf
Show file tree
Hide file tree
Showing 16 changed files with 4 additions and 242 deletions.
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

0 comments on commit 7c62edf

Please sign in to comment.