Skip to content

Make all Finding.Message extensions file-private. #636

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 22, 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
6 changes: 3 additions & 3 deletions Sources/SwiftFormat/PrettyPrint/PrettyPrint.swift
Original file line number Diff line number Diff line change
Expand Up @@ -790,12 +790,12 @@ public class PrettyPrinter {
}

extension Finding.Message {
public static let moveEndOfLineComment: Finding.Message =
fileprivate static let moveEndOfLineComment: Finding.Message =
"move end-of-line comment that exceeds the line length"

public static let addTrailingComma: Finding.Message =
fileprivate static let addTrailingComma: Finding.Message =
"add trailing comma to the last element in multiline collection literal"

public static let removeTrailingComma: Finding.Message =
fileprivate static let removeTrailingComma: Finding.Message =
"remove trailing comma from the last element in single line collection literal"
}
14 changes: 7 additions & 7 deletions Sources/SwiftFormat/PrettyPrint/WhitespaceLinter.swift
Original file line number Diff line number Diff line change
Expand Up @@ -432,9 +432,9 @@ extension WhitespaceIndentation {
}

extension Finding.Message {
public static let trailingWhitespaceError: Finding.Message = "remove trailing whitespace"
fileprivate static let trailingWhitespaceError: Finding.Message = "remove trailing whitespace"

public static func indentationError(
fileprivate static func indentationError(
expected expectedIndentation: WhitespaceIndentation,
actual actualIndentation: WhitespaceIndentation
) -> Finding.Message {
Expand Down Expand Up @@ -470,20 +470,20 @@ extension Finding.Message {
}
}

public static func spacingError(_ spaces: Int) -> Finding.Message {
fileprivate static func spacingError(_ spaces: Int) -> Finding.Message {
let verb = spaces > 0 ? "add" : "remove"
let noun = abs(spaces) == 1 ? "space" : "spaces"
return "\(verb) \(abs(spaces)) \(noun)"
}

public static let spacingCharError: Finding.Message = "use spaces for spacing"
fileprivate static let spacingCharError: Finding.Message = "use spaces for spacing"

public static let removeLineError: Finding.Message = "remove line break"
fileprivate static let removeLineError: Finding.Message = "remove line break"

public static func addLinesError(_ lines: Int) -> Finding.Message {
fileprivate static func addLinesError(_ lines: Int) -> Finding.Message {
let noun = lines == 1 ? "break" : "breaks"
return "add \(lines) line \(noun)"
}

public static let lineLengthError: Finding.Message = "line is too long"
fileprivate static let lineLengthError: Finding.Message = "line is too long"
}
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,7 @@ public final class AllPublicDeclarationsHaveDocumentation: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func declRequiresComment(_ name: String) -> Finding.Message {
fileprivate static func declRequiresComment(_ name: String) -> Finding.Message {
"add a documentation comment for '\(name)'"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,9 @@ public final class AlwaysUseLiteralForEmptyCollectionInit : SyntaxFormatRule {
}

extension Finding.Message {
public static func refactorIntoEmptyLiteral(replace: String, with: String) -> Finding.Message {
fileprivate static func refactorIntoEmptyLiteral(replace: String, with: String)
-> Finding.Message
{
"replace '\(replace)' with '\(with)'"
}
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/AlwaysUseLowerCamelCase.swift
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,7 @@ extension ReturnClauseSyntax {
}

extension Finding.Message {
@_spi(Rules)
public static func nameMustBeLowerCamelCase(
fileprivate static func nameMustBeLowerCamelCase(
_ name: String, description: String
) -> Finding.Message {
"rename the \(description) '\(name)' using lowerCamelCase"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,11 @@ public final class AmbiguousTrailingClosureOverload: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func ambiguousTrailingClosureOverload(_ decl: String) -> Finding.Message {
fileprivate static func ambiguousTrailingClosureOverload(_ decl: String) -> Finding.Message {
"rename '\(decl)' so it is no longer ambiguous when called with a trailing closure"
}

@_spi(Rules)
public static func otherAmbiguousOverloadHere(_ decl: String) -> Finding.Message {
fileprivate static func otherAmbiguousOverloadHere(_ decl: String) -> Finding.Message {
"ambiguous overload '\(decl)' is here"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -195,15 +195,13 @@ public final class BeginDocumentationCommentWithOneLineSummary: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func terminateSentenceWithPeriod<Sentence: StringProtocol>(_ text: Sentence)
fileprivate static func terminateSentenceWithPeriod<Sentence: StringProtocol>(_ text: Sentence)
-> Finding.Message
{
"terminate this sentence with a period: \"\(text)\""
}

@_spi(Rules)
public static func addBlankLineAfterFirstSentence<Sentence: StringProtocol>(_ text: Sentence)
fileprivate static func addBlankLineAfterFirstSentence<Sentence: StringProtocol>(_ text: Sentence)
-> Finding.Message
{
"add a blank comment line after this sentence: \"\(text)\""
Expand Down
6 changes: 2 additions & 4 deletions Sources/SwiftFormat/Rules/DoNotUseSemicolons.swift
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,8 @@ public final class DoNotUseSemicolons: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static let removeSemicolon: Finding.Message = "remove ';'"
fileprivate static let removeSemicolon: Finding.Message = "remove ';'"

@_spi(Rules)
public static let removeSemicolonAndMove: Finding.Message =
fileprivate static let removeSemicolonAndMove: Finding.Message =
"remove ';' and move the next statement to a new line"
}
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,7 @@ public final class DontRepeatTypeInStaticProperties: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func removeTypeFromName(name: String, type: Substring) -> Finding.Message {
fileprivate static func removeTypeFromName(name: String, type: Substring) -> Finding.Message {
"remove the suffix '\(type)' from the name of the variable '\(name)'"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,9 @@ public final class FileScopedDeclarationPrivacy: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static let replacePrivateWithFileprivate: Finding.Message =
fileprivate static let replacePrivateWithFileprivate: Finding.Message =
"replace 'private' with 'fileprivate' on file-scoped declarations"

@_spi(Rules)
public static let replaceFileprivateWithPrivate: Finding.Message =
fileprivate static let replaceFileprivateWithPrivate: Finding.Message =
"replace 'fileprivate' with 'private' on file-scoped declarations"
}
5 changes: 2 additions & 3 deletions Sources/SwiftFormat/Rules/FullyIndirectEnum.swift
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,9 @@ public final class FullyIndirectEnum: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static func moveIndirectKeywordToEnumDecl(name: String) -> Finding.Message {
fileprivate static func moveIndirectKeywordToEnumDecl(name: String) -> Finding.Message {
"declare enum '\(name)' itself as indirect when all cases are indirect"
}

public static let removeIndirect: Finding.Message = "remove 'indirect' here"
fileprivate static let removeIndirect: Finding.Message = "remove 'indirect' here"
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/GroupNumericLiterals.swift
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,7 @@ public final class GroupNumericLiterals: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static func groupNumericLiteral(every stride: Int, base: String) -> Finding.Message {
fileprivate static func groupNumericLiteral(every stride: Int, base: String) -> Finding.Message {
return "group every \(stride) digits in this \(base) literal using a '_' separator"
}
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/IdentifiersMustBeASCII.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ public final class IdentifiersMustBeASCII: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func nonASCIICharsNotAllowed(
fileprivate static func nonASCIICharsNotAllowed(
_ invalidCharacters: [String], _ identifierName: String
) -> Finding.Message {
"""
Expand Down
6 changes: 2 additions & 4 deletions Sources/SwiftFormat/Rules/NeverForceUnwrap.swift
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,11 @@ public final class NeverForceUnwrap: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func doNotForceUnwrap(name: String) -> Finding.Message {
fileprivate static func doNotForceUnwrap(name: String) -> Finding.Message {
"do not force unwrap '\(name)'"
}

@_spi(Rules)
public static func doNotForceCast(name: String) -> Finding.Message {
fileprivate static func doNotForceCast(name: String) -> Finding.Message {
"do not force cast to '\(name)'"
}
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/NeverUseForceTry.swift
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,5 @@ public final class NeverUseForceTry: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static let doNotForceTry: Finding.Message = "do not use force try"
fileprivate static let doNotForceTry: Finding.Message = "do not use force try"
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ public final class NeverUseImplicitlyUnwrappedOptionals: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func doNotUseImplicitUnwrapping(identifier: String) -> Finding.Message {
fileprivate static func doNotUseImplicitUnwrapping(identifier: String) -> Finding.Message {
"use '\(identifier)' or '\(identifier)?' instead of '\(identifier)!'"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -105,22 +105,18 @@ public final class NoAccessLevelOnExtensionDeclaration: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static let removeRedundantAccessKeyword: Finding.Message =
fileprivate static let removeRedundantAccessKeyword: Finding.Message =
"remove this redundant 'internal' access modifier from this extension"

@_spi(Rules)
public static func moveAccessKeyword(keyword: String) -> Finding.Message {
fileprivate static func moveAccessKeyword(keyword: String) -> Finding.Message {
"move this '\(keyword)' access modifier to precede each member inside this extension"
}

@_spi(Rules)
public static func moveAccessKeywordAndMakeFileprivate(keyword: String) -> Finding.Message {
fileprivate static func moveAccessKeywordAndMakeFileprivate(keyword: String) -> Finding.Message {
"remove this '\(keyword)' access modifier and declare each member inside this extension as 'fileprivate'"
}

@_spi(Rules)
public static func addModifierToExtensionMember(keyword: String) -> Finding.Message {
fileprivate static func addModifierToExtensionMember(keyword: String) -> Finding.Message {
"add '\(keyword)' access modifier to this declaration"
}
}
Expand Down
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/NoAssignmentInExpressions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,6 @@ public final class NoAssignmentInExpressions: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static let moveAssignmentToOwnStatement: Finding.Message =
fileprivate static let moveAssignmentToOwnStatement: Finding.Message =
"move this assignment expression into its own statement"
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/NoBlockComments.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ public final class NoBlockComments: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static let avoidBlockComment: Finding.Message =
fileprivate static let avoidBlockComment: Finding.Message =
"replace this block comment with line comments"
}
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,7 @@ extension TriviaPiece {
}

extension Finding.Message {
@_spi(Rules)
public static var collapseCase: Finding.Message {
fileprivate static var collapseCase: Finding.Message {
"combine this fallthrough-only 'case' and the following 'case' into a single 'case'"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,7 @@ public final class NoEmptyTrailingClosureParentheses: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static func removeEmptyTrailingParentheses(name: String) -> Finding.Message {
fileprivate static func removeEmptyTrailingParentheses(name: String) -> Finding.Message {
"remove the empty parentheses following '\(name)'"
}
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/NoLabelsInCasePatterns.swift
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ public final class NoLabelsInCasePatterns: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static func removeRedundantLabel(name: String) -> Finding.Message {
fileprivate static func removeRedundantLabel(name: String) -> Finding.Message {
"remove the label '\(name)' from this 'case' pattern"
}
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/NoLeadingUnderscores.swift
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,7 @@ public final class NoLeadingUnderscores: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static func doNotStartWithUnderscore(identifier: String) -> Finding.Message {
fileprivate static func doNotStartWithUnderscore(identifier: String) -> Finding.Message {
"remove the leading '_' from the name '\(identifier)'"
}
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/NoParensAroundConditions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ public final class NoParensAroundConditions: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static let removeParensAroundExpression: Finding.Message =
fileprivate static let removeParensAroundExpression: Finding.Message =
"remove the parentheses around this expression"
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ public final class NoVoidReturnOnFunctionSignature: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static func removeRedundantReturn(_ type: String) -> Finding.Message {
fileprivate static func removeRedundantReturn(_ type: String) -> Finding.Message {
"remove the explicit return type '\(type)' from this function"
}
}
2 changes: 1 addition & 1 deletion Sources/SwiftFormat/Rules/OmitExplicitReturns.swift
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,6 @@ public final class OmitExplicitReturns: SyntaxFormatRule {
}

extension Finding.Message {
public static let omitReturnStatement: Finding.Message =
fileprivate static let omitReturnStatement: Finding.Message =
"'return' can be omitted because body consists of a single expression"
}
3 changes: 1 addition & 2 deletions Sources/SwiftFormat/Rules/OneCasePerLine.swift
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,7 @@ public final class OneCasePerLine: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static func moveAssociatedOrRawValueCase(name: String) -> Finding.Message {
fileprivate static func moveAssociatedOrRawValueCase(name: String) -> Finding.Message {
"move '\(name)' to its own 'case' declaration"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ public final class OneVariableDeclarationPerLine: SyntaxFormatRule {
}

extension Finding.Message {
@_spi(Rules)
public static func onlyOneVariableDeclaration(specifier: String) -> Finding.Message {
fileprivate static func onlyOneVariableDeclaration(specifier: String) -> Finding.Message {
"split this variable declaration to introduce only one variable per '\(specifier)'"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ public final class OnlyOneTrailingClosureArgument: SyntaxLintRule {
}

extension Finding.Message {
@_spi(Rules)
public static let removeTrailingClosure: Finding.Message =
fileprivate static let removeTrailingClosure: Finding.Message =
"revise this function call to avoid using both closure arguments and a trailing closure"
}
12 changes: 4 additions & 8 deletions Sources/SwiftFormat/Rules/OrderedImports.swift
Original file line number Diff line number Diff line change
Expand Up @@ -569,17 +569,13 @@ extension Line: CustomDebugStringConvertible {
}

extension Finding.Message {
@_spi(Rules)
public static let placeAtTopOfFile: Finding.Message = "place imports at the top of the file"
fileprivate static let placeAtTopOfFile: Finding.Message = "place imports at the top of the file"

@_spi(Rules)
public static func groupImports(before: LineType, after: LineType) -> Finding.Message {
fileprivate static func groupImports(before: LineType, after: LineType) -> Finding.Message {
"place \(before) imports before \(after) imports"
}

@_spi(Rules)
public static let removeDuplicateImport: Finding.Message = "remove this duplicate import"
fileprivate static let removeDuplicateImport: Finding.Message = "remove this duplicate import"

@_spi(Rules)
public static let sortImports: Finding.Message = "sort import statements lexicographically"
fileprivate static let sortImports: Finding.Message = "sort import statements lexicographically"
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public final class ReplaceForEachWithForLoop : SyntaxLintRule {
}

extension Finding.Message {
public static func replaceForEachWithLoop() -> Finding.Message {
fileprivate static func replaceForEachWithLoop() -> Finding.Message {
"replace use of '.forEach { ... }' with for-in loop"
}
}
Loading