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

Commit 2f72030

Browse files
authored
Merge 7ba3ef8 into 755ca4f
2 parents 755ca4f + 7ba3ef8 commit 2f72030

File tree

16 files changed

+4
-242
lines changed

16 files changed

+4
-242
lines changed

lib/src/analyzer_plugin/analyzer_plugin_utils.dart

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
import 'package:analyzer/dart/analysis/results.dart';
22
import 'package:analyzer_plugin/protocol/protocol_common.dart' as plugin;
33
import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
4-
import 'package:source_span/source_span.dart';
54

6-
import '../analyzers/lint_analyzer/lint_analysis_config.dart';
75
import '../analyzers/lint_analyzer/models/issue.dart';
86
import '../analyzers/lint_analyzer/models/severity.dart';
9-
import '../config_builder/models/deprecated_option.dart';
107
import '../utils/path_utils.dart';
118

129
plugin.AnalysisErrorFixes codeIssueToAnalysisErrorFixes(
@@ -62,67 +59,6 @@ plugin.AnalysisErrorFixes codeIssueToAnalysisErrorFixes(
6259
);
6360
}
6461

65-
plugin.AnalysisErrorFixes metricReportToAnalysisErrorFixes(
66-
SourceLocation startLocation,
67-
int length,
68-
String message,
69-
String metricId,
70-
) =>
71-
plugin.AnalysisErrorFixes(plugin.AnalysisError(
72-
plugin.AnalysisErrorSeverity.INFO,
73-
plugin.AnalysisErrorType.LINT,
74-
plugin.Location(
75-
startLocation.sourceUrl!.path,
76-
startLocation.offset,
77-
length,
78-
startLocation.line,
79-
startLocation.column,
80-
endLine: startLocation.line,
81-
endColumn: startLocation.column,
82-
),
83-
message,
84-
metricId,
85-
hasFix: false,
86-
));
87-
88-
Iterable<plugin.AnalysisErrorFixes> checkConfigDeprecatedOptions(
89-
LintAnalysisConfig config,
90-
Iterable<DeprecatedOption> deprecatedOptions,
91-
String analysisOptionPath,
92-
) {
93-
final ids = {
94-
...config.codeRules.map((rule) => rule.id),
95-
...config.methodsMetrics.map((metric) => metric.id),
96-
...config.antiPatterns.map((pattern) => pattern.id),
97-
...config.metricsConfig.keys,
98-
};
99-
100-
final location =
101-
SourceLocation(0, sourceUrl: analysisOptionPath, line: 0, column: 0);
102-
103-
final documentation = Uri.parse(
104-
'https://github.com/dart-code-checker/dart-code-metrics/blob/master/CHANGELOG.md',
105-
);
106-
107-
return deprecatedOptions
108-
.where((option) => ids.contains(option.deprecated))
109-
.map((option) => codeIssueToAnalysisErrorFixes(
110-
Issue(
111-
ruleId: 'dart-code-metrics',
112-
documentation: documentation,
113-
location: SourceSpan(location, location, ''),
114-
severity: Severity.warning,
115-
message:
116-
'${option.deprecated} deprecated option. This option will be removed in ${option.supportUntilVersion} version.',
117-
verboseMessage: option.replacement != null
118-
? 'Please migrate on ${option.replacement}, and restart analysis server.'
119-
: null,
120-
),
121-
null,
122-
))
123-
.toList();
124-
}
125-
12662
const _severityMapping = {
12763
Severity.error: plugin.AnalysisErrorSeverity.ERROR,
12864
Severity.warning: plugin.AnalysisErrorSeverity.WARNING,

lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_method.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import '../../../../utils/node_utils.dart';
88
import '../../lint_utils.dart';
99
import '../../metrics/metric_utils.dart';
1010
import '../../metrics/metrics_list/source_lines_of_code/source_lines_of_code_metric.dart';
11-
import '../../models/entity_type.dart';
1211
import '../../models/internal_resolved_unit_result.dart';
1312
import '../../models/issue.dart';
1413
import '../../models/report.dart';
@@ -35,7 +34,6 @@ class LongMethod extends Pattern {
3534
),
3635
super(
3736
id: patternId,
38-
supportedType: EntityType.methodEntity,
3937
severity: readSeverity(patternSettings, Severity.none),
4038
excludes: readExcludes(patternSettings),
4139
);

lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_parameter_list.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import '../../../../utils/node_utils.dart';
44
import '../../lint_utils.dart';
55
import '../../metrics/metric_utils.dart';
66
import '../../metrics/metrics_list/number_of_parameters_metric.dart';
7-
import '../../models/entity_type.dart';
87
import '../../models/function_type.dart';
98
import '../../models/internal_resolved_unit_result.dart';
109
import '../../models/issue.dart';
@@ -33,7 +32,6 @@ class LongParameterList extends Pattern {
3332
),
3433
super(
3534
id: patternId,
36-
supportedType: EntityType.methodEntity,
3735
severity: readSeverity(patternSettings, Severity.none),
3836
excludes: readExcludes(patternSettings),
3937
);

lib/src/analyzers/lint_analyzer/anti_patterns/models/pattern.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import '../../models/entity_type.dart';
21
import '../../models/internal_resolved_unit_result.dart';
32
import '../../models/issue.dart';
43
import '../../models/report.dart';
@@ -13,9 +12,6 @@ abstract class Pattern {
1312
/// The id of the pattern.
1413
final String id;
1514

16-
/// The type of entities which will be analyzed by the pattern.
17-
final EntityType supportedType;
18-
1915
/// The severity of issues emitted by the pattern.
2016
final Severity severity;
2117

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

2824
const Pattern({
2925
required this.id,
30-
required this.supportedType,
3126
required this.severity,
3227
required this.excludes,
3328
});

lib/src/analyzers/lint_analyzer/anti_patterns/pattern_utils.dart

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
import 'package:analyzer/dart/ast/ast.dart';
21
import 'package:source_span/source_span.dart';
32

43
import '../models/issue.dart';
5-
import '../models/scoped_function_declaration.dart';
64
import 'models/pattern.dart';
75

86
Issue createIssue({
@@ -31,17 +29,3 @@ Uri documentation(Pattern pattern) => Uri(
3129
pattern.id,
3230
],
3331
);
34-
35-
int getArgumentsCount(ScopedFunctionDeclaration dec) {
36-
final declaration = dec.declaration;
37-
38-
int? argumentsCount;
39-
if (declaration is FunctionDeclaration) {
40-
argumentsCount =
41-
declaration.functionExpression.parameters?.parameters.length;
42-
} else if (declaration is MethodDeclaration) {
43-
argumentsCount = declaration.parameters?.parameters.length;
44-
}
45-
46-
return argumentsCount ?? 0;
47-
}

lib/src/analyzers/lint_analyzer/anti_patterns/patterns_factory.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ final _implementedPatterns = <String, CreatePattern>{
1717
),
1818
};
1919

20-
Iterable<Pattern> get allPatterns =>
21-
_implementedPatterns.keys.map((id) => _implementedPatterns[id]!({}, {}));
22-
2320
Iterable<Pattern> getPatternsById(LintConfig config) =>
2421
List.unmodifiable(_implementedPatterns.keys
2522
.where((id) => config.antiPatterns.keys.contains(id))

lib/src/analyzers/lint_analyzer/reporters/reporters_list/code_climate/models/code_climate_issue_category.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// ignore_for_file: unused-code
2+
13
/// Represents a Code Climate issue category.
24
class CodeClimateIssueCategory {
35
static const bugRisk = CodeClimateIssueCategory._('Bug Risk');

lib/src/analyzers/lint_analyzer/rules/rules_factory.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,6 @@ final _implementedRules = <String, Rule Function(Map<String, Object>)>{
170170

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

173-
Iterable<Rule> get allRules =>
174-
_implementedRules.keys.map((id) => _implementedRules[id]!({}));
175-
176173
Iterable<Rule> getRulesById(Map<String, Map<String, Object>> rulesConfig) =>
177174
List.unmodifiable(_implementedRules.keys
178175
.where((id) => rulesConfig.keys.contains(id))

lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_edge_insets_constructor/visitor.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ const _constructorNameOnly = 'only';
1111
class _Visitor extends RecursiveAstVisitor<void> {
1212
final _expressions = <InstanceCreationExpression, EdgeInsetsData>{};
1313

14-
final _Validator validator = _Validator();
15-
1614
Map<InstanceCreationExpression, EdgeInsetsData> get expressions =>
1715
_expressions;
1816

lib/src/cli/commands/analyze_command.dart

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import 'dart:io';
44

5-
import 'package:collection/collection.dart';
6-
75
import '../../analyzers/lint_analyzer/lint_analyzer.dart';
86
import '../../analyzers/lint_analyzer/metrics/metrics_factory.dart';
97
import '../../analyzers/lint_analyzer/metrics/models/metric_value_level.dart';
@@ -13,7 +11,6 @@ import '../../analyzers/lint_analyzer/reporters/lint_report_params.dart';
1311
import '../../analyzers/lint_analyzer/reporters/reporters_list/json/lint_json_reporter.dart';
1412
import '../../analyzers/lint_analyzer/utils/report_utils.dart';
1513
import '../../config_builder/config_builder.dart';
16-
import '../../config_builder/models/deprecated_option.dart';
1714
import '../../logger/logger.dart';
1815
import '../models/flag_names.dart';
1916
import '../models/parsed_arguments.dart';
@@ -160,15 +157,9 @@ class AnalyzeCommand extends BaseCommand {
160157
argParser.addSeparator('');
161158

162159
for (final metric in getMetrics(config: {})) {
163-
final deprecation = deprecatedOptions
164-
.firstWhereOrNull((option) => option.deprecated == metric.id);
165-
final deprecationMessage = deprecation != null
166-
? ' (deprecated, will be removed in ${deprecation.supportUntilVersion} version)'
167-
: '';
168-
169160
argParser.addOption(
170161
metric.id,
171-
help: '${metric.documentation.name} threshold$deprecationMessage.',
162+
help: '${metric.documentation.name} threshold.',
172163
valueHelp: '${metric.documentation.recommendedThreshold}',
173164
callback: (i) {
174165
if (i != null && int.tryParse(i) == null) {

lib/src/config_builder/models/deprecated_option.dart

Lines changed: 0 additions & 19 deletions
This file was deleted.

lib/src/utils/dart_types_utils.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ bool isIterableOrSubclass(DartType? type) =>
99
bool isListOrSubclass(DartType? type) =>
1010
_checkSelfOrSupertypes(type, (t) => t?.isDartCoreList ?? false);
1111

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

test/src/analyzer_plugin/analyzer_plugin_utils_test.dart

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import 'package:mocktail/mocktail.dart';
88
import 'package:source_span/source_span.dart';
99
import 'package:test/test.dart';
1010

11-
class AnalysisResultMock extends Mock implements AnalysisResult {}
12-
1311
class ResolvedUnitResultMock extends Mock implements ResolvedUnitResult {}
1412

1513
void main() {
@@ -140,39 +138,4 @@ void main() {
140138
testOn: 'posix',
141139
);
142140
});
143-
144-
test(
145-
'metricReportToAnalysisErrorFixes constructs AnalysisErrorFixes from metric report',
146-
() {
147-
const metricMessage = 'diagnostic message';
148-
const metricId = 'metric id';
149-
150-
final fixes = metricReportToAnalysisErrorFixes(
151-
SourceLocation(
152-
offset,
153-
sourceUrl: Uri.parse(sourcePath),
154-
line: line,
155-
column: column,
156-
),
157-
length,
158-
metricMessage,
159-
metricId,
160-
);
161-
162-
expect(fixes.error.severity, equals(AnalysisErrorSeverity.INFO));
163-
expect(fixes.error.type, equals(AnalysisErrorType.LINT));
164-
expect(fixes.error.location.file, equals(sourcePath));
165-
expect(fixes.error.location.offset, equals(5));
166-
expect(fixes.error.location, hasLength(length));
167-
expect(fixes.error.location.startLine, equals(line));
168-
expect(fixes.error.location.startColumn, equals(column));
169-
expect(fixes.error.message, equals(metricMessage));
170-
expect(fixes.error.code, equals(metricId));
171-
expect(fixes.error.correction, isNull);
172-
expect(fixes.error.url, isNull);
173-
expect(fixes.error.contextMessages, isNull);
174-
expect(fixes.error.hasFix, isFalse);
175-
expect(fixes.fixes, isEmpty);
176-
},
177-
);
178141
}
Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
import 'package:analyzer/dart/ast/ast.dart';
21
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/anti_patterns/models/pattern.dart';
32
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/anti_patterns/pattern_utils.dart';
4-
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/models/function_type.dart';
5-
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/models/scoped_function_declaration.dart';
63
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/models/severity.dart';
74
import 'package:mocktail/mocktail.dart';
85
import 'package:source_span/source_span.dart';
@@ -73,77 +70,5 @@ void main() {
7370
equals(patternId2),
7471
);
7572
});
76-
77-
group('getArgumentsCount returns arguments count of', () {
78-
late _FormalParameterListMock formalParameterListMock;
79-
late _NodeListMock<FormalParameter> nodeListMock;
80-
81-
setUp(() {
82-
formalParameterListMock = _FormalParameterListMock();
83-
nodeListMock = _NodeListMock<FormalParameter>();
84-
85-
when(() => formalParameterListMock.parameters).thenReturn(nodeListMock);
86-
});
87-
88-
test('static function', () {
89-
final functionDeclarationMock = _FunctionDeclarationMock();
90-
final functionExpressionMock = _FunctionExpressionMock();
91-
92-
when(() => functionDeclarationMock.functionExpression)
93-
.thenReturn(functionExpressionMock);
94-
when(() => functionExpressionMock.parameters)
95-
.thenReturn(formalParameterListMock);
96-
when(() => nodeListMock.length).thenReturn(1);
97-
98-
final declaration = ScopedFunctionDeclaration(
99-
FunctionType.function,
100-
functionDeclarationMock,
101-
null,
102-
);
103-
104-
expect(getArgumentsCount(declaration), equals(1));
105-
});
106-
107-
test('class method', () {
108-
final methodDeclarationMock = _MethodDeclarationMock();
109-
110-
final declaration = ScopedFunctionDeclaration(
111-
FunctionType.function,
112-
methodDeclarationMock,
113-
null,
114-
);
115-
116-
expect(getArgumentsCount(declaration), 0);
117-
118-
when(() => methodDeclarationMock.parameters)
119-
.thenReturn(formalParameterListMock);
120-
when(() => nodeListMock.length).thenReturn(2);
121-
122-
expect(getArgumentsCount(declaration), equals(2));
123-
});
124-
125-
test('class constructor', () {
126-
final declaration = ScopedFunctionDeclaration(
127-
FunctionType.function,
128-
_ConstructorDeclarationMock(),
129-
null,
130-
);
131-
132-
expect(getArgumentsCount(declaration), isZero);
133-
});
134-
});
13573
});
13674
}
137-
138-
class _ConstructorDeclarationMock extends Mock
139-
implements ConstructorDeclaration {}
140-
141-
class _FunctionDeclarationMock extends Mock implements FunctionDeclaration {}
142-
143-
class _FunctionExpressionMock extends Mock implements FunctionExpression {}
144-
145-
class _FormalParameterListMock extends Mock implements FormalParameterList {}
146-
147-
class _NodeListMock<E extends AstNode> extends Mock implements NodeList<E> {}
148-
149-
class _MethodDeclarationMock extends Mock implements MethodDeclaration {}

0 commit comments

Comments
 (0)