12
12
//
13
13
//===----------------------------------------------------------------------===//
14
14
15
- import Foundation
16
-
17
15
package extension JavaTranslator {
18
16
struct SwiftTypeName : Hashable {
19
17
let swiftType : String
@@ -42,14 +40,17 @@ package extension JavaTranslator {
42
40
switch self {
43
41
case . multipleClassesMappedToSameName( let swiftToJavaMapping) :
44
42
"""
45
- The following Java classes were mapped to the same Swift type:
46
- \( swiftToJavaMapping. map { mapping in
47
- " Swift Type: \( mapping. swiftType. swiftModule ?? " " ) . \( mapping. swiftType. swiftType) , Java Types: \( mapping. javaTypes. sorted ( ) . joined ( separator: " , " ) ) "
48
- } . joined ( separator: " \n " ) )
43
+ The following Java classes were mapped to the same Swift type name:
44
+ \( swiftToJavaMapping. map ( mappingDescription ( mapping: ) ) . joined ( separator: " \n " ) )
49
45
"""
50
46
}
51
47
}
52
48
49
+ private func mappingDescription( mapping: SwiftToJavaMapping ) -> String {
50
+ let javaTypes = mapping. javaTypes. map { " ' \( $0) ' " } . joined ( separator: " , " )
51
+ return " Swift Type: ' \( mapping. swiftType. swiftModule ?? " " ) '.' \( mapping. swiftType. swiftType) ', Java Types: \( javaTypes) "
52
+
53
+ }
53
54
}
54
55
func validateClassConfiguration( ) throws {
55
56
// Group all classes by swift name
@@ -63,7 +64,7 @@ package extension JavaTranslator {
63
64
// Convert them to swift object and throw
64
65
var errorMappings = [ SwiftToJavaMapping] ( )
65
66
for (swiftType, swiftJavaMappings) in multipleClassesMappedToSameName {
66
- errorMappings. append ( SwiftToJavaMapping ( swiftType: swiftType, javaTypes: swiftJavaMappings. map ( \. 0 ) ) )
67
+ errorMappings. append ( SwiftToJavaMapping ( swiftType: swiftType, javaTypes: swiftJavaMappings. map ( \. 0 ) . sorted ( ) ) )
67
68
}
68
69
throw ValidationError . multipleClassesMappedToSameName ( swiftToJavaMapping: errorMappings)
69
70
}
0 commit comments