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)) + } } }