Skip to content

Commit 20ee770

Browse files
committed
-
1 parent 7176358 commit 20ee770

File tree

12 files changed

+46
-84
lines changed

12 files changed

+46
-84
lines changed

Package.resolved

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,13 @@ let package = Package(
5353
),
5454
.testTarget(
5555
name: "PrincipleMacrosTests",
56-
dependencies: ["PrincipleMacros"]
56+
dependencies: [
57+
"PrincipleMacros",
58+
.product(
59+
name: "SwiftSyntaxMacroExpansion",
60+
package: "swift-syntax"
61+
)
62+
]
5763
)
5864
]
5965
)

Sources/PrincipleMacros/Diagnostics/DiagnosticContext.swift

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

Sources/PrincipleMacros/Diagnostics/SwiftSyntaxDiagnosticContext.swift

Lines changed: 0 additions & 34 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//
2+
// MacroExpansionContext.swift
3+
// PrincipleMacros
4+
//
5+
// Created by Kamil Strzelecki on 30/03/2025.
6+
// Copyright © 2025 Kamil Strzelecki. All rights reserved.
7+
//
8+
9+
import SwiftSyntaxMacros
10+
11+
extension MacroExpansionContext {
12+
13+
public func diagnose(
14+
node: some SyntaxProtocol,
15+
errorMessage: String
16+
) {
17+
let message = MacroExpansionErrorMessage(errorMessage)
18+
let diagnostic = Diagnostic(node: node, message: message)
19+
diagnose(diagnostic)
20+
}
21+
}

Sources/PrincipleMacros/Parsers/Common/Parser.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,19 @@
77
//
88

99
import SwiftSyntax
10+
import SwiftSyntaxMacros
1011

1112
public protocol Parser {
1213

1314
associatedtype ResultsCollection: ParserResultsCollection
1415

1516
static func parse(
1617
declaration: DeclSyntaxProtocol,
17-
in context: DiagnosticContext
18+
in context: MacroExpansionContext
1819
) -> ResultsCollection
1920

2021
static func parse(
2122
memberBlock: MemberBlockSyntax,
22-
in context: DiagnosticContext
23+
in context: MacroExpansionContext
2324
) -> ResultsCollection
2425
}

Sources/PrincipleMacros/Parsers/Common/_Parser.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@
66
// Copyright © 2025 Kamil Strzelecki. All rights reserved.
77
//
88

9+
import SwiftSyntax
10+
import SwiftSyntaxMacros
11+
912
internal protocol _Parser: Parser
1013
where ResultsCollection: _ParserResultsCollection {}
1114

1215
extension _Parser {
1316

1417
public static func parse(
1518
memberBlock: MemberBlockSyntax,
16-
in context: DiagnosticContext
19+
in context: MacroExpansionContext
1720
) -> ResultsCollection {
1821
ResultsCollection(
1922
memberBlock.members.flatMap { member in

Sources/PrincipleMacros/Parsers/EnumCases/EnumCasesParser.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77
//
88

99
import SwiftSyntax
10+
import SwiftSyntaxMacros
1011

1112
public enum EnumCasesParser: _Parser {
1213

1314
public static func parse(
1415
declaration: DeclSyntaxProtocol,
15-
in _: DiagnosticContext
16+
in _: MacroExpansionContext
1617
) -> EnumCasesList {
1718
guard let declaration = EnumCaseDeclSyntax(declaration) else {
1819
return .init()

Sources/PrincipleMacros/Parsers/Properties/PropertiesParser.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77
//
88

99
import SwiftSyntax
10+
import SwiftSyntaxMacros
1011

1112
public enum PropertiesParser: _Parser {
1213

1314
public static func parse(
1415
declaration: DeclSyntaxProtocol,
15-
in context: DiagnosticContext
16+
in context: MacroExpansionContext
1617
) -> PropertiesList {
1718
guard let declaration = VariableDeclSyntax(declaration) else {
1819
return .init()

Tests/PrincipleMacrosTests/Mocks/DiagnosticContextMock.swift

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

0 commit comments

Comments
 (0)