diff --git a/lib/src/anti_patterns/long_method.dart b/lib/src/anti_patterns/long_method.dart index 805f28904a..00d42a018e 100644 --- a/lib/src/anti_patterns/long_method.dart +++ b/lib/src/anti_patterns/long_method.dart @@ -6,7 +6,7 @@ import '../lines_of_code/lines_with_code_ast_visitor.dart'; import '../models/function_type.dart'; import '../models/scoped_function_declaration.dart'; import 'base_pattern.dart'; -import 'pattern_utils.dart'; +import 'pattern_utils.dart' as utils; class LongMethod extends BasePattern { static const String patternId = 'long-method'; @@ -30,7 +30,7 @@ class LongMethod extends BasePattern { if (linesWithCodeAstVisitor.linesWithCode.length > config.linesOfExecutableCodeWarningLevel) { - issues.add(createIssue( + issues.add(utils.createIssue( this, _compileMessage( lines: linesWithCodeAstVisitor.linesWithCode.length, diff --git a/lib/src/anti_patterns/long_parameter_list.dart b/lib/src/anti_patterns/long_parameter_list.dart index 244ab8671d..56d183aba0 100644 --- a/lib/src/anti_patterns/long_parameter_list.dart +++ b/lib/src/anti_patterns/long_parameter_list.dart @@ -6,7 +6,7 @@ import '../models/function_type.dart'; import '../models/scoped_function_declaration.dart'; import '../utils/metrics_analyzer_utils.dart'; import 'base_pattern.dart'; -import 'pattern_utils.dart'; +import 'pattern_utils.dart' as utils; class LongParameterList extends BasePattern { static const String patternId = 'long-parameter-list'; @@ -25,7 +25,7 @@ class LongParameterList extends BasePattern { .where((function) => getArgumentsCount(function) > config.numberOfArgumentsWarningLevel) - .map((function) => createIssue( + .map((function) => utils.createIssue( this, _compileMessage( args: getArgumentsCount(function), diff --git a/lib/src/rules/avoid_preserve_whitespace_false.dart b/lib/src/rules/avoid_preserve_whitespace_false.dart index a365e59cc3..1670abbb1d 100644 --- a/lib/src/rules/avoid_preserve_whitespace_false.dart +++ b/lib/src/rules/avoid_preserve_whitespace_false.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/token.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - class AvoidPreserveWhitespaceFalseRule extends Rule { static const String ruleId = 'avoid-preserve-whitespace-false'; static const _documentationUrl = 'https://git.io/JfDik'; @@ -26,16 +24,8 @@ class AvoidPreserveWhitespaceFalseRule extends Rule { file.parsedContent.visitChildren(visitor); return visitor.expression - .map((expression) => createIssue( - this, - _failure, - null, - null, - file.url, - file.content, - file.parsedContent, - expression, - )) + .map((expression) => + createIssue(this, nodeLocation(expression, file), _failure, null)) .toList(growable: false); } } diff --git a/lib/src/rules/avoid_unused_parameters.dart b/lib/src/rules/avoid_unused_parameters.dart index d0e2103233..d0d865bcfe 100644 --- a/lib/src/rules/avoid_unused_parameters.dart +++ b/lib/src/rules/avoid_unused_parameters.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/syntactic_entity.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - // Inspired by PVS-Studio (https://www.viva64.com/en/w/v6022/) class AvoidUnusedParameters extends Rule { @@ -34,25 +32,17 @@ class AvoidUnusedParameters extends Rule { ..._visitor.unusedParameters .map((parameter) => createIssue( this, + nodeLocation(parameter, file), _warningMessage, null, - null, - file.url, - file.content, - file.parsedContent, - parameter, )) .toList(growable: false), ..._visitor.renameSuggestions .map((parameter) => createIssue( this, + nodeLocation(parameter, file), _renameMessage, null, - null, - file.url, - file.content, - file.parsedContent, - parameter, )) .toList(), ]; diff --git a/lib/src/rules/binary_expression_operand_order_rule.dart b/lib/src/rules/binary_expression_operand_order_rule.dart index 99e6fc5607..189e32d6ca 100644 --- a/lib/src/rules/binary_expression_operand_order_rule.dart +++ b/lib/src/rules/binary_expression_operand_order_rule.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/token.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - class BinaryExpressionOperandOrderRule extends Rule { static const String ruleId = 'binary-expression-operand-order'; static const _documentationUrl = 'https://git.io/JJVAC'; @@ -29,13 +27,13 @@ class BinaryExpressionOperandOrderRule extends Rule { return visitor.binaryExpressions .map((lit) => createIssue( this, + nodeLocation(lit, file), _warningMessage, - '${lit.rightOperand} ${lit.operator} ${lit.leftOperand}', - _correctionComment, - file.url, - file.content, - file.parsedContent, - lit, + Replacement( + comment: _correctionComment, + replacement: + '${lit.rightOperand} ${lit.operator} ${lit.leftOperand}', + ), )) .toList(growable: false); } diff --git a/lib/src/rules/component_annotation_arguments_ordering.dart b/lib/src/rules/component_annotation_arguments_ordering.dart index 357b36f91f..43ffa14fdc 100644 --- a/lib/src/rules/component_annotation_arguments_ordering.dart +++ b/lib/src/rules/component_annotation_arguments_ordering.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; import 'package:meta/meta.dart'; -import 'rule_utils.dart'; - class ComponentAnnotationArgumentsOrderingRule extends Rule { static const ruleId = 'component-annotation-arguments-ordering'; static const _documentationUrl = 'https://git.io/JJ5HC'; @@ -35,13 +33,9 @@ class ComponentAnnotationArgumentsOrderingRule extends Rule { return argumentsInfo.where((info) => info.argumentOrder.isWrong).map( (info) => createIssue( this, + nodeLocation(info.argument, file), 'Arguments group ${info.argumentOrder.argumentGroup.name} $_warningMessage ${info.argumentOrder.previousArgumentGroup.name}', null, - null, - file.url, - file.content, - file.parsedContent, - info.argument, ), ); } diff --git a/lib/src/rules/double_literal_format_rule.dart b/lib/src/rules/double_literal_format_rule.dart index 1c868882eb..42cdb261d1 100644 --- a/lib/src/rules/double_literal_format_rule.dart +++ b/lib/src/rules/double_literal_format_rule.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; import 'package:meta/meta.dart'; -import 'rule_utils.dart'; - class DoubleLiteralFormatRule extends Rule { static const String ruleId = 'double-literal-format'; static const _documentationUrl = 'https://git.io/Jf3MH'; @@ -43,35 +41,32 @@ class DoubleLiteralFormatRule extends Rule { if (detectLeadingZero(lexeme)) { issues.add(createIssue( this, + nodeLocation(node, file), _failureLeadingZero, - leadingZeroCorrection(lexeme), - _correctionCommentLeadingZero, - file.url, - file.content, - file.parsedContent, - node, + Replacement( + comment: _correctionCommentLeadingZero, + replacement: leadingZeroCorrection(lexeme), + ), )); } else if (detectLeadingDecimal(lexeme)) { issues.add(createIssue( this, + nodeLocation(node, file), _failureLeadingDecimal, - leadingDecimalCorrection(lexeme), - _correctionCommentLeadingDecimal, - file.url, - file.content, - file.parsedContent, - node, + Replacement( + comment: _correctionCommentLeadingDecimal, + replacement: leadingDecimalCorrection(lexeme), + ), )); } else if (detectTrailingZero(lexeme)) { issues.add(createIssue( this, + nodeLocation(node, file), _failureTrailingZero, - trailingZeroCorrection(lexeme), - _correctionCommentTrailingZero, - file.url, - file.content, - file.parsedContent, - node, + Replacement( + comment: _correctionCommentTrailingZero, + replacement: trailingZeroCorrection(lexeme), + ), )); } } diff --git a/lib/src/rules/member_ordering.dart b/lib/src/rules/member_ordering.dart index 16ac241b04..4364cceddd 100644 --- a/lib/src/rules/member_ordering.dart +++ b/lib/src/rules/member_ordering.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; import 'package:meta/meta.dart'; -import 'rule_utils.dart'; - // Inspired by TSLint (https://palantir.github.io/tslint/rules/member-ordering/) class MemberOrderingRule extends Rule { @@ -40,13 +38,9 @@ class MemberOrderingRule extends Rule { ...membersInfo.where((info) => info.memberOrder.isWrong).map( (info) => createIssue( this, + nodeLocation(info.classMember, file), '${info.memberOrder.memberGroup.name} $_warningMessage ${info.memberOrder.previousMemberGroup.name}', null, - null, - file.url, - file.content, - file.parsedContent, - info.classMember, ), ), if (_alphabetize) @@ -55,13 +49,9 @@ class MemberOrderingRule extends Rule { .map( (info) => createIssue( this, + nodeLocation(info.classMember, file), '${info.memberOrder.memberNames.currentName} $_warningAlphabeticalMessage ${info.memberOrder.memberNames.previousName}', null, - null, - file.url, - file.content, - file.parsedContent, - info.classMember, ), ), ]; diff --git a/lib/src/rules/newline_before_return.dart b/lib/src/rules/newline_before_return.dart index 728c356f11..94b38b02a5 100644 --- a/lib/src/rules/newline_before_return.dart +++ b/lib/src/rules/newline_before_return.dart @@ -4,8 +4,6 @@ import 'package:analyzer/dart/ast/visitor.dart'; import 'package:analyzer/source/line_info.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - // Inspired by TSLint (https://palantir.github.io/tslint/rules/newline-before-return/) class NewlineBeforeReturnRule extends Rule { @@ -48,16 +46,8 @@ class NewlineBeforeReturnRule extends Rule { return !(tokenLine > previousTokenLine + 1); }) - .map((statement) => createIssue( - this, - _failure, - null, - null, - file.url, - file.content, - file.parsedContent, - statement, - )) + .map((statement) => + createIssue(this, nodeLocation(statement, file), _failure, null)) .toList(growable: false); } diff --git a/lib/src/rules/no_boolean_literal_compare_rule.dart b/lib/src/rules/no_boolean_literal_compare_rule.dart index 7de796b189..b8aa58d6d7 100644 --- a/lib/src/rules/no_boolean_literal_compare_rule.dart +++ b/lib/src/rules/no_boolean_literal_compare_rule.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/token.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - // Inspired by TSLint (https://palantir.github.io/tslint/rules/no-boolean-literal-compare/) class NoBooleanLiteralCompareRule extends Rule { @@ -45,13 +43,13 @@ class NoBooleanLiteralCompareRule extends Rule { if (_detectNullAwarePropertyCompareWithTrue(expression)) { issues.add(createIssue( this, + nodeLocation(expression, file), _failureCompareNullAwarePropertyWithTrue, - _nullAwarePropertyCompareWithTrueCorrection(expression), - _correctionCompareNullAwarePropertyWithTrue, - file.url, - file.content, - file.parsedContent, - expression, + Replacement( + comment: _correctionCompareNullAwarePropertyWithTrue, + replacement: + _nullAwarePropertyCompareWithTrueCorrection(expression), + ), )); continue; @@ -77,13 +75,12 @@ class NoBooleanLiteralCompareRule extends Rule { issues.add(createIssue( this, + nodeLocation(expression, file), _failure, - useDirect ? correction : '!$correction', - useDirect ? _useItDirectly : _negate, - file.url, - file.content, - file.parsedContent, - expression, + Replacement( + comment: useDirect ? _useItDirectly : _negate, + replacement: useDirect ? correction : '!$correction', + ), )); } diff --git a/lib/src/rules/no_empty_block.dart b/lib/src/rules/no_empty_block.dart index dfa5ade240..e0614537b6 100644 --- a/lib/src/rules/no_empty_block.dart +++ b/lib/src/rules/no_empty_block.dart @@ -2,8 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - // Inspired by TSLint (https://palantir.github.io/tslint/rules/no-empty/) class NoEmptyBlockRule extends Rule { @@ -28,16 +26,8 @@ class NoEmptyBlockRule extends Rule { file.parsedContent.visitChildren(_visitor); return _visitor.emptyBlocks - .map((block) => createIssue( - this, - _failure, - null, - null, - file.url, - file.content, - file.parsedContent, - block, - )) + .map((block) => + createIssue(this, nodeLocation(block, file), _failure, null)) .toList(growable: false); } } diff --git a/lib/src/rules/no_equal_arguments.dart b/lib/src/rules/no_equal_arguments.dart index f2d6ae62a0..84fa78160f 100644 --- a/lib/src/rules/no_equal_arguments.dart +++ b/lib/src/rules/no_equal_arguments.dart @@ -2,8 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - class NoEqualArguments extends Rule { static const String ruleId = 'no-equal-arguments'; static const _documentationUrl = 'https://git.io/JUlBH'; @@ -27,13 +25,9 @@ class NoEqualArguments extends Rule { return _visitor.arguments .map((argument) => createIssue( this, + nodeLocation(argument, file), _warningMessage, null, - null, - file.url, - file.content, - file.parsedContent, - argument, )) .toList(growable: false); } diff --git a/lib/src/rules/no_equal_then_else.dart b/lib/src/rules/no_equal_then_else.dart index c004cadc21..fa4c304625 100644 --- a/lib/src/rules/no_equal_then_else.dart +++ b/lib/src/rules/no_equal_then_else.dart @@ -2,8 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - // Inspired by PVS-Studio (https://www.viva64.com/en/w/v6004/) class NoEqualThenElse extends Rule { @@ -30,13 +28,9 @@ class NoEqualThenElse extends Rule { .map( (node) => createIssue( this, + nodeLocation(node, file), _warningMessage, null, - null, - file.url, - file.content, - file.parsedContent, - node, ), ) .toList(growable: false); diff --git a/lib/src/rules/no_magic_number_rule.dart b/lib/src/rules/no_magic_number_rule.dart index d4e5edc638..0b7ed18a87 100644 --- a/lib/src/rules/no_magic_number_rule.dart +++ b/lib/src/rules/no_magic_number_rule.dart @@ -2,8 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - class NoMagicNumberRule extends Rule { static const String ruleId = 'no-magic-number'; static const _documentationUrl = 'https://git.io/JJwmL'; @@ -34,16 +32,8 @@ class NoMagicNumberRule extends Rule { .where(_isNotInsideConstantCollectionLiteral) .where(_isNotInsideConstConstructor) .where(_isNotInDateTime) - .map((lit) => createIssue( - this, - _warningMessage, - null, - null, - file.url, - file.content, - file.parsedContent, - lit, - )) + .map((lit) => + createIssue(this, nodeLocation(lit, file), _warningMessage, null)) .toList(growable: false); } diff --git a/lib/src/rules/no_object_declaration.dart b/lib/src/rules/no_object_declaration.dart index 92e249ed03..cb9b1efe45 100644 --- a/lib/src/rules/no_object_declaration.dart +++ b/lib/src/rules/no_object_declaration.dart @@ -2,8 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - class NoObjectDeclarationRule extends Rule { static const String ruleId = 'no-object-declaration'; static const _documentationUrl = 'https://git.io/JJwmY'; @@ -29,13 +27,9 @@ class NoObjectDeclarationRule extends Rule { .map( (member) => createIssue( this, + nodeLocation(member, file), _warningMessage, null, - null, - file.url, - file.content, - file.parsedContent, - member, ), ) .toList(growable: false); diff --git a/lib/src/rules/potential_null_dereference.dart b/lib/src/rules/potential_null_dereference.dart index ebb3444708..d54ecc0b86 100644 --- a/lib/src/rules/potential_null_dereference.dart +++ b/lib/src/rules/potential_null_dereference.dart @@ -5,8 +5,6 @@ import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; import 'package:meta/meta.dart'; -import 'rule_utils.dart'; - // Inspired by PVS-Studio (https://www.viva64.com/en/w/v6008/) class PotentialNullDereference extends Rule { @@ -33,13 +31,9 @@ class PotentialNullDereference extends Rule { .map( (issue) => createIssue( this, + nodeLocation(issue.expression, file), '${issue.identifierName} $_warningMessage', null, - null, - file.url, - file.content, - file.parsedContent, - issue.expression, ), ) .toList(growable: false); diff --git a/lib/src/rules/prefer_conditional_expressions.dart b/lib/src/rules/prefer_conditional_expressions.dart index e824c0ae70..8329ad4a7d 100644 --- a/lib/src/rules/prefer_conditional_expressions.dart +++ b/lib/src/rules/prefer_conditional_expressions.dart @@ -3,8 +3,6 @@ import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; import 'package:meta/meta.dart'; -import 'rule_utils.dart'; - // Inspired by TSLint (https://palantir.github.io/tslint/rules/prefer-conditional-expression/) class PreferConditionalExpressions extends Rule { @@ -32,13 +30,12 @@ class PreferConditionalExpressions extends Rule { .map( (info) => createIssue( this, + nodeLocation(info.statement, file), _warningMessage, - _createCorrection(info), - _correctionMessage, - file.url, - file.content, - file.parsedContent, - info.statement, + Replacement( + comment: _correctionMessage, + replacement: _createCorrection(info), + ), ), ) .toList(growable: false); diff --git a/lib/src/rules/prefer_intl_name.dart b/lib/src/rules/prefer_intl_name.dart index ea3dddc04e..a59044d98b 100644 --- a/lib/src/rules/prefer_intl_name.dart +++ b/lib/src/rules/prefer_intl_name.dart @@ -2,7 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:code_checker/rules.dart'; import 'package:meta/meta.dart'; -import '../rules/rule_utils.dart'; import '../utils/iterable_extensions.dart'; import '../utils/object_extensions.dart'; import 'intl_base/intl_base_visitor.dart'; @@ -44,26 +43,21 @@ class PreferIntlNameRule extends Rule { return createIssue( this, + nodeLocation(issue.node, file), '$_notCorrectNameFailure $correction', - correction, - _notCorrectNameCorrectionComment, - file.url, - file.content, - file.parsedContent, - issue.node, + Replacement( + comment: _notCorrectNameCorrectionComment, + replacement: correction, + ), ); }), ...visitor.issues .whereType<_NotExistNameIssue>() .map((issue) => createIssue( this, + nodeLocation(issue.node, file), _notExistsNameFailure, null, - null, - file.url, - file.content, - file.parsedContent, - issue.node, )), ]; } diff --git a/lib/src/rules/prefer_on_push_cd_strategy.dart b/lib/src/rules/prefer_on_push_cd_strategy.dart index cdb7fd8e15..de98bd1986 100644 --- a/lib/src/rules/prefer_on_push_cd_strategy.dart +++ b/lib/src/rules/prefer_on_push_cd_strategy.dart @@ -2,8 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:code_checker/rules.dart'; -import 'rule_utils.dart'; - class PreferOnPushCdStrategyRule extends Rule { static const String ruleId = 'prefer-on-push-cd-strategy'; static const _documentationUrl = 'https://git.io/JJwmB'; @@ -25,16 +23,8 @@ class PreferOnPushCdStrategyRule extends Rule { file.parsedContent.visitChildren(visitor); return visitor.expression - .map((expression) => createIssue( - this, - _failure, - null, - null, - file.url, - file.content, - file.parsedContent, - expression, - )) + .map((expression) => + createIssue(this, nodeLocation(expression, file), _failure, null)) .toList(growable: false); } } diff --git a/lib/src/rules/prefer_trailing_comma.dart b/lib/src/rules/prefer_trailing_comma.dart index 52b39cc08f..3c247d2d26 100644 --- a/lib/src/rules/prefer_trailing_comma.dart +++ b/lib/src/rules/prefer_trailing_comma.dart @@ -4,7 +4,6 @@ import 'package:analyzer/dart/ast/token.dart'; import 'package:analyzer/dart/ast/visitor.dart'; import 'package:analyzer/source/line_info.dart'; import 'package:code_checker/rules.dart'; -import 'package:dart_code_metrics/src/rules/rule_utils.dart'; class PreferTrailingComma extends Rule { static const String ruleId = 'prefer-trailing-comma'; @@ -34,13 +33,12 @@ class PreferTrailingComma extends Rule { .map( (node) => createIssue( this, + nodeLocation(node, file), _warningMessage, - '${file.content.substring(node.offset, node.end)},', - _correctionMessage, - file.url, - file.content, - file.parsedContent, - node, + Replacement( + comment: _correctionMessage, + replacement: '${file.content.substring(node.offset, node.end)},', + ), ), ) .toList(growable: false); diff --git a/lib/src/rules/prefer_trailing_comma_for_collection.dart b/lib/src/rules/prefer_trailing_comma_for_collection.dart index 3a3b90fad9..9eb5937a77 100644 --- a/lib/src/rules/prefer_trailing_comma_for_collection.dart +++ b/lib/src/rules/prefer_trailing_comma_for_collection.dart @@ -5,8 +5,6 @@ import 'package:analyzer/dart/ast/visitor.dart'; import 'package:analyzer/source/line_info.dart'; import 'package:code_checker/rules.dart'; -import '../rules/rule_utils.dart'; - class PreferTrailingCommaForCollectionRule extends Rule { static const String ruleId = 'prefer-trailing-comma-for-collection'; static const _documentationUrl = 'https://git.io/JJwmu'; @@ -33,13 +31,13 @@ class PreferTrailingCommaForCollectionRule extends Rule { return visitor.nodes .map((node) => createIssue( this, + nodeLocation(node, file), _failure, - '${file.content.substring(node.offset, node.end)},', - _correctionComment, - file.url, - file.content, - file.parsedContent, - node, + Replacement( + comment: _correctionComment, + replacement: + '${file.content.substring(node.offset, node.end)},', + ), )) .toList(growable: false); } diff --git a/lib/src/rules/provide_correct_intl_args.dart b/lib/src/rules/provide_correct_intl_args.dart index 017385c3fd..d11fe48ebd 100644 --- a/lib/src/rules/provide_correct_intl_args.dart +++ b/lib/src/rules/provide_correct_intl_args.dart @@ -2,7 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart'; import 'package:code_checker/rules.dart'; import 'package:meta/meta.dart'; -import '../rules/rule_utils.dart'; import '../utils/iterable_extensions.dart'; import '../utils/object_extensions.dart'; import 'intl_base/intl_base_visitor.dart'; @@ -37,13 +36,9 @@ class ProvideCorrectIntlArgsRule extends Rule { return visitor.issues .map((issue) => createIssue( this, + nodeLocation(issue.node, file), issue.nameFailure, null, - null, - file.url, - file.content, - file.parsedContent, - issue.node, )) .toList(); } diff --git a/lib/src/rules/rule_utils.dart b/lib/src/rules/rule_utils.dart deleted file mode 100644 index 15329915cc..0000000000 --- a/lib/src/rules/rule_utils.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:analyzer/dart/ast/ast.dart'; -import 'package:code_checker/rules.dart'; - -Issue createIssue( - Rule rule, - String message, - String correction, - String correctionComment, - Uri sourceUrl, - String sourceContent, - CompilationUnit parsedContent, - AstNode issueNode, -) => - Issue( - ruleId: rule.id, - documentation: rule.documentation, - severity: rule.severity, - location: nodeLocation( - issueNode, - ProcessedFile(sourceUrl, sourceContent, parsedContent), - ), - message: message, - suggestion: correction != null && correctionComment != null - ? Replacement(comment: correctionComment, replacement: correction) - : null, - ); diff --git a/pubspec.yaml b/pubspec.yaml index d76122a3a9..ac68a3bacf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: analyzer_plugin: '>=0.2.1 <0.5.0' ansicolor: ^1.1.0 args: ^1.4.4 - code_checker: 0.0.5 + code_checker: 0.0.6 crypto: ^2.0.6 glob: ^1.1.7 html: '>=0.13.4 <1.0.0'