From 0f4002d1893befe7ecc79b038a31ac2911c94f28 Mon Sep 17 00:00:00 2001 From: Doug Gregor Date: Fri, 8 Nov 2024 09:23:47 -0800 Subject: [PATCH] Adapt to swift-syntax changes in generic argument handling --- Sources/JExtractSwift/TranslatedType.swift | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Sources/JExtractSwift/TranslatedType.swift b/Sources/JExtractSwift/TranslatedType.swift index 367c92cc..ca1ecf73 100644 --- a/Sources/JExtractSwift/TranslatedType.swift +++ b/Sources/JExtractSwift/TranslatedType.swift @@ -55,7 +55,12 @@ extension Swift2JavaVisitor { // Translate the generic arguments to the C-compatible types. let genericArgs = try memberType.genericArgumentClause.map { genericArgumentClause in try genericArgumentClause.arguments.map { argument in - try cCompatibleType(for: argument.argument) + switch argument.argument { + case .type(let argumentType): + try cCompatibleType(for: argumentType) + @unknown default: + throw TypeTranslationError.unimplementedType(TypeSyntax(memberType)) + } } } @@ -71,7 +76,12 @@ extension Swift2JavaVisitor { // Translate the generic arguments to the C-compatible types. let genericArgs = try identifierType.genericArgumentClause.map { genericArgumentClause in try genericArgumentClause.arguments.map { argument in - try cCompatibleType(for: argument.argument) + switch argument.argument { + case .type(let argumentType): + try cCompatibleType(for: argumentType) + @unknown default: + throw TypeTranslationError.unimplementedType(TypeSyntax(identifierType)) + } } }