Files
SwiftLint/Source/SwiftLintCoreMacros/SwiftLintCoreMacroError.swift
2025-12-01 14:15:00 -05:00

32 lines
1.1 KiB
Swift

import SwiftDiagnostics
import SwiftSyntax
enum SwiftLintCoreMacroError: String, DiagnosticMessage {
case notStruct = "Attribute can only be applied to structs"
case invalidConfigurationName = "Configuration type name must end with 'Configuration', but not 'RuleConfiguration'"
case severityBasedWithoutProperty = """
Severity-based configuration without a 'severityConfiguration' property is invalid
"""
case notEnum = "Attribute can only be applied to enums"
case noStringRawType = "Attribute can only be applied to enums with a 'String' raw type"
case noBooleanLiteral = "Macro argument must be a boolean literal"
case noBody = "Macro can only be applied to functions with a body"
case missingPathArgument = "Missing required 'path' argument"
var message: String {
rawValue
}
var diagnosticID: MessageID {
MessageID(domain: "SwiftLint", id: "SwiftLintCoreMacro.\(self)")
}
var severity: DiagnosticSeverity {
.error
}
func diagnose(at node: some SyntaxProtocol) -> Diagnostic {
Diagnostic(node: Syntax(node), message: self)
}
}