Use `SeverityBasedRuleConfiguration` where possible (#5019)

This commit is contained in:
Danny Mösch 2023-05-18 16:04:20 +02:00 committed by GitHub
parent 07740506b5
commit 7fd22e0d6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 44 additions and 44 deletions

View File

@ -23,7 +23,7 @@ struct FileNameNoSpaceRule: ConfigurationProviderRule, OptInRule, SourceKitFreeR
}
return [StyleViolation(ruleDescription: Self.description,
severity: configuration.severity.severity,
severity: configuration.severity,
location: Location(file: filePath, line: 1))]
}
}

View File

@ -52,7 +52,7 @@ struct FileNameRule: ConfigurationProviderRule, OptInRule, SourceKitFreeRule {
}
return [StyleViolation(ruleDescription: Self.description,
severity: configuration.severity.severity,
severity: configuration.severity,
location: Location(file: filePath, line: 1))]
}
}

View File

@ -21,7 +21,7 @@ struct UnusedImportRule: CorrectableRule, ConfigurationProviderRule, AnalyzerRul
func validate(file: SwiftLintFile, compilerArguments: [String]) -> [StyleViolation] {
return importUsage(in: file, compilerArguments: compilerArguments).map { importUsage in
StyleViolation(ruleDescription: Self.description,
severity: configuration.severity.severity,
severity: configuration.severity,
location: Location(file: file, characterOffset: importUsage.violationRange?.location ?? 1),
reason: importUsage.violationReason)
}

View File

@ -1,4 +1,4 @@
struct ColonConfiguration: RuleConfiguration, Equatable {
struct ColonConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var flexibleRightSpacing = false
private(set) var applyToDictionaries = true

View File

@ -1,7 +1,7 @@
import Foundation
import SourceKittenFramework
struct FileHeaderConfiguration: RuleConfiguration, Equatable {
struct FileHeaderConfiguration: SeverityBasedRuleConfiguration, Equatable {
private static let fileNamePlaceholder = "SWIFTLINT_CURRENT_FILENAME"
private static let stringRegexOptions: NSRegularExpression.Options = [.ignoreMetacharacters]
private static let patternRegexOptions: NSRegularExpression.Options =

View File

@ -1,13 +1,13 @@
struct FileNameConfiguration: RuleConfiguration, Equatable {
struct FileNameConfiguration: SeverityBasedRuleConfiguration, Equatable {
var consoleDescription: String {
return "(severity) \(severity.consoleDescription), " +
return "(severity) \(severityConfiguration.consoleDescription), " +
"excluded: \(excluded.sorted()), " +
"prefix_pattern: \(prefixPattern), " +
"suffix_pattern: \(suffixPattern), " +
"nested_type_separator: \(nestedTypeSeparator)"
}
private(set) var severity: SeverityConfiguration
private(set) var severityConfiguration: SeverityConfiguration
private(set) var excluded: Set<String>
private(set) var prefixPattern: String
private(set) var suffixPattern: String
@ -15,7 +15,7 @@ struct FileNameConfiguration: RuleConfiguration, Equatable {
init(severity: ViolationSeverity, excluded: [String] = [],
prefixPattern: String = "", suffixPattern: String = "\\+.*", nestedTypeSeparator: String = ".") {
self.severity = SeverityConfiguration(severity)
self.severityConfiguration = SeverityConfiguration(severity)
self.excluded = Set(excluded)
self.prefixPattern = prefixPattern
self.suffixPattern = suffixPattern
@ -27,8 +27,8 @@ struct FileNameConfiguration: RuleConfiguration, Equatable {
throw Issue.unknownConfiguration
}
if let severityConfiguration = configurationDict["severity"] {
try severity.apply(configuration: severityConfiguration)
if let severity = configurationDict["severity"] {
try severityConfiguration.apply(configuration: severity)
}
if let excluded = [String].array(of: configurationDict["excluded"]) {
self.excluded = Set(excluded)

View File

@ -1,14 +1,14 @@
struct FileNameNoSpaceConfiguration: RuleConfiguration, Equatable {
struct FileNameNoSpaceConfiguration: SeverityBasedRuleConfiguration, Equatable {
var consoleDescription: String {
return "(severity) \(severity.consoleDescription), " +
return "(severity) \(severityConfiguration.consoleDescription), " +
"excluded: \(excluded.sorted())"
}
private(set) var severity: SeverityConfiguration
private(set) var severityConfiguration: SeverityConfiguration
private(set) var excluded: Set<String>
init(severity: ViolationSeverity, excluded: [String] = []) {
self.severity = SeverityConfiguration(severity)
self.severityConfiguration = SeverityConfiguration(severity)
self.excluded = Set(excluded)
}
@ -17,8 +17,8 @@ struct FileNameNoSpaceConfiguration: RuleConfiguration, Equatable {
throw Issue.unknownConfiguration
}
if let severityConfiguration = configurationDict["severity"] {
try severity.apply(configuration: severityConfiguration)
if let severity = configurationDict["severity"] {
try severityConfiguration.apply(configuration: severity)
}
if let excluded = [String].array(of: configurationDict["excluded"]) {
self.excluded = Set(excluded)

View File

@ -6,7 +6,7 @@ enum FileType: String {
case libraryContentProvider = "library_content_provider"
}
struct FileTypesOrderConfiguration: RuleConfiguration, Equatable {
struct FileTypesOrderConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var order: [[FileType]] = [
[.supportingType],

View File

@ -1,4 +1,4 @@
struct ImplicitReturnConfiguration: RuleConfiguration, Equatable {
struct ImplicitReturnConfiguration: SeverityBasedRuleConfiguration, Equatable {
enum ReturnKind: String, CaseIterable {
case closure
case function

View File

@ -1,4 +1,4 @@
struct IndentationWidthConfiguration: RuleConfiguration, Equatable {
struct IndentationWidthConfiguration: SeverityBasedRuleConfiguration, Equatable {
var consoleDescription: String {
return "severity: \("severity: \(severityConfiguration.consoleDescription)"), "
+ "indentation_width: \(indentationWidth), "

View File

@ -1,6 +1,6 @@
import SourceKittenFramework
struct ModifierOrderConfiguration: RuleConfiguration, Equatable {
struct ModifierOrderConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var preferredModifierOrder = [SwiftDeclarationAttributeKind.ModifierGroup]()

View File

@ -4,7 +4,7 @@ private enum ConfigurationKey: String {
case onlyEnforceAfterFirstClosureOnFirstLine = "only_enforce_after_first_closure_on_first_line"
}
struct MultilineArgumentsConfiguration: RuleConfiguration, SeverityBasedRuleConfiguration, Equatable {
struct MultilineArgumentsConfiguration: SeverityBasedRuleConfiguration, Equatable {
enum FirstArgumentLocation: String {
case anyLine = "any_line"
case sameLine = "same_line"

View File

@ -3,7 +3,7 @@ private enum ConfigurationKey: String {
case allowMultilineFunc = "allow_multiline_func"
}
struct OpeningBraceConfiguration: RuleConfiguration, Equatable {
struct OpeningBraceConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var allowMultilineFunc = false

View File

@ -1,4 +1,4 @@
struct OperatorUsageWhitespaceConfiguration: RuleConfiguration, Equatable {
struct OperatorUsageWhitespaceConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var linesLookAround = 2
private(set) var skipAlignedConstants = true

View File

@ -12,14 +12,14 @@ enum StatementModeConfiguration: String {
}
}
struct StatementConfiguration: RuleConfiguration, Equatable {
struct StatementConfiguration: SeverityBasedRuleConfiguration, Equatable {
var consoleDescription: String {
return "(statement_mode) \(statementMode.rawValue), " +
"(severity) \(severity.consoleDescription)"
"(severity) \(severityConfiguration.consoleDescription)"
}
var statementMode: StatementModeConfiguration
var severity: SeverityConfiguration
var severityConfiguration: SeverityConfiguration
mutating func apply(configuration: Any) throws {
guard let configurationDict = configuration as? [String: Any] else {
@ -28,8 +28,8 @@ struct StatementConfiguration: RuleConfiguration, Equatable {
if let statementModeConfiguration = configurationDict["statement_mode"] {
try statementMode = StatementModeConfiguration(value: statementModeConfiguration)
}
if let severityConfiguration = configurationDict["severity"] {
try severity.apply(configuration: severityConfiguration)
if let severity = configurationDict["severity"] {
try severityConfiguration.apply(configuration: severity)
}
}
}

View File

@ -1,4 +1,4 @@
struct TrailingClosureConfiguration: RuleConfiguration, Equatable {
struct TrailingClosureConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var onlySingleMutedParameter: Bool

View File

@ -1,4 +1,4 @@
struct TrailingWhitespaceConfiguration: RuleConfiguration, Equatable {
struct TrailingWhitespaceConfiguration: SeverityBasedRuleConfiguration, Equatable {
var severityConfiguration = SeverityConfiguration(.warning)
var ignoresEmptyLines = false
var ignoresComments = true

View File

@ -16,7 +16,7 @@ enum TypeContent: String {
case deinitializer = "deinitializer"
}
struct TypeContentsOrderConfiguration: RuleConfiguration, Equatable {
struct TypeContentsOrderConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var order: [[TypeContent]] = [
[.case],

View File

@ -4,7 +4,7 @@ private enum ConfigurationKey: String {
case relatedUSRsToSkip = "related_usrs_to_skip"
}
struct UnusedDeclarationConfiguration: RuleConfiguration, Equatable {
struct UnusedDeclarationConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var includePublicAndOpen: Bool
private(set) var severityConfiguration: SeverityConfiguration
private(set) var relatedUSRsToSkip: Set<String>

View File

@ -19,17 +19,17 @@ struct TransitiveModuleConfiguration: Equatable {
}
}
struct UnusedImportConfiguration: RuleConfiguration, Equatable {
struct UnusedImportConfiguration: SeverityBasedRuleConfiguration, Equatable {
var consoleDescription: String {
return [
"severity: \(severity.consoleDescription)",
"severity: \(severityConfiguration.consoleDescription)",
"require_explicit_imports: \(requireExplicitImports)",
"allowed_transitive_imports: \(allowedTransitiveImports)",
"always_keep_imports: \(alwaysKeepImports)"
].joined(separator: ", ")
}
private(set) var severity: SeverityConfiguration
private(set) var severityConfiguration: SeverityConfiguration
private(set) var requireExplicitImports: Bool
private(set) var allowedTransitiveImports: [TransitiveModuleConfiguration]
/// A set of modules to never remove the imports of.
@ -38,7 +38,7 @@ struct UnusedImportConfiguration: RuleConfiguration, Equatable {
init(severity: ViolationSeverity, requireExplicitImports: Bool,
allowedTransitiveImports: [TransitiveModuleConfiguration],
alwaysKeepImports: [String]) {
self.severity = SeverityConfiguration(severity)
self.severityConfiguration = SeverityConfiguration(severity)
self.requireExplicitImports = requireExplicitImports
self.allowedTransitiveImports = allowedTransitiveImports
self.alwaysKeepImports = alwaysKeepImports
@ -49,8 +49,8 @@ struct UnusedImportConfiguration: RuleConfiguration, Equatable {
throw Issue.unknownConfiguration
}
if let severityConfiguration = configurationDict["severity"] {
try severity.apply(configuration: severityConfiguration)
if let severity = configurationDict["severity"] {
try severityConfiguration.apply(configuration: severity)
}
if let requireExplicitImports = configurationDict["require_explicit_imports"] as? Bool {
self.requireExplicitImports = requireExplicitImports

View File

@ -1,5 +1,5 @@
// swiftlint:disable:next type_name
struct VerticalWhitespaceClosingBracesConfiguration: RuleConfiguration, Equatable {
struct VerticalWhitespaceClosingBracesConfiguration: SeverityBasedRuleConfiguration, Equatable {
private enum ConfigurationKey: String {
case severity = "severity"
case onlyEnforceBeforeTrivialLines = "only_enforce_before_trivial_lines"

View File

@ -1,4 +1,4 @@
struct VerticalWhitespaceConfiguration: RuleConfiguration, Equatable {
struct VerticalWhitespaceConfiguration: SeverityBasedRuleConfiguration, Equatable {
private(set) var severityConfiguration = SeverityConfiguration(.warning)
private(set) var maxEmptyLines: Int

View File

@ -3,7 +3,7 @@ import SourceKittenFramework
struct StatementPositionRule: CorrectableRule, ConfigurationProviderRule {
var configuration = StatementConfiguration(statementMode: .default,
severity: SeverityConfiguration(.warning))
severityConfiguration: SeverityConfiguration(.warning))
static let description = RuleDescription(
identifier: "statement_position",
@ -90,7 +90,7 @@ private extension StatementPositionRule {
func defaultValidate(file: SwiftLintFile) -> [StyleViolation] {
return defaultViolationRanges(in: file, matching: Self.defaultPattern).compactMap { range in
StyleViolation(ruleDescription: Self.description,
severity: configuration.severity.severity,
severity: configuration.severity,
location: Location(file: file, characterOffset: range.location))
}
}
@ -125,7 +125,7 @@ private extension StatementPositionRule {
func uncuddledValidate(file: SwiftLintFile) -> [StyleViolation] {
return uncuddledViolationRanges(in: file).compactMap { range in
StyleViolation(ruleDescription: Self.uncuddledDescription,
severity: configuration.severity.severity,
severity: configuration.severity,
location: Location(file: file, characterOffset: range.location))
}
}