From 9254157375a8d1fd2983d715342eb909f9ab2a8e Mon Sep 17 00:00:00 2001 From: Alex Skorulis Date: Sat, 16 Aug 2025 10:51:02 +1000 Subject: [PATCH 1/2] Fix parsing issue for TargetResolver including a module --- Sources/KnitCodeGen/AssemblyParsing.swift | 7 ++----- Tests/KnitCodeGenTests/AssemblyParsingTests.swift | 12 ++++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Sources/KnitCodeGen/AssemblyParsing.swift b/Sources/KnitCodeGen/AssemblyParsing.swift index 3dc83727..993b8a96 100644 --- a/Sources/KnitCodeGen/AssemblyParsing.swift +++ b/Sources/KnitCodeGen/AssemblyParsing.swift @@ -224,13 +224,10 @@ class ClassDeclVisitor: SyntaxVisitor, IfConfigVisitor { } override func visit(_ node: TypeAliasDeclSyntax) -> SyntaxVisitorContinueKind { - guard let identifier = node.initializer.value.as(IdentifierTypeSyntax.self) else { - return .skipChildren - } if node.name.text == "TargetResolver" { - self.targetResolver = identifier.name.text + self.targetResolver = node.initializer.value.description } else if node.name.text == "ReplacedAssembly" { - self.fakeReplacesType = identifier.name.text + self.fakeReplacesType = node.initializer.value.description } return .skipChildren diff --git a/Tests/KnitCodeGenTests/AssemblyParsingTests.swift b/Tests/KnitCodeGenTests/AssemblyParsingTests.swift index 867d811a..0ee5519e 100644 --- a/Tests/KnitCodeGenTests/AssemblyParsingTests.swift +++ b/Tests/KnitCodeGenTests/AssemblyParsingTests.swift @@ -31,6 +31,18 @@ final class AssemblyParsingTests: XCTestCase { XCTAssertEqual(config.assemblyShortName, "FooTest") } + func testSubmoduleResolver() throws { + let sourceFile: SourceFileSyntax = """ + import OtherModule + class FooTestAssembly: ModuleAssembly { + typealias TargetResolver = OtherModule.Resolver + } + """ + + let config = try assertParsesSyntaxTree(sourceFile) + XCTAssertEqual(config.targetResolver, "OtherModule.Resolver") + } + func testDebugWrappedAssemblyImports() throws { let sourceFile: SourceFileSyntax = """ #if DEBUG From e4cc7735925957887cb461c0889f3015038f1b21 Mon Sep 17 00:00:00 2001 From: Brad Fol Date: Thu, 21 Aug 2025 13:31:08 -0700 Subject: [PATCH 2/2] Add explicit Knit target --- Package.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Package.swift b/Package.swift index 23ced35e..66f73563 100644 --- a/Package.swift +++ b/Package.swift @@ -99,6 +99,7 @@ let package = Package( name: "KnitMacrosTests", dependencies: [ "KnitMacrosImplementations", + .target(name: "Knit"), .target(name: "KnitMacros"), .target(name: "KnitCodeGen"), .target(name: "Swinject"),