in Sources/MockoloFramework/Utils/TypeParser.swift [571:611]
func processTypeParams(with typeParamList: [String]) -> String {
let closureRng = typeName.range(of: String.closureArrow)
let isEscaping = typeName.hasPrefix(String.escaping)
let isTypeOptional = isOptional
var ret = typeName
if let closureRng = closureRng {
let left = ret[ret.startIndex..<closureRng.lowerBound]
let right = ret[closureRng.lowerBound..<ret.endIndex]
ret = left + right.replacingOccurrences(of: "\(String.some) ", with: "\(String.any) ")
for item in typeParamList {
if isEscaping, left.literalComponents.contains(item) {
ret = String.anyType
if isTypeOptional {
ret += "?"
}
return ret
}
}
for item in typeParamList {
if ret.literalComponents.contains(item) {
ret = ret.replacingOccurrences(of: item, with: String.anyType)
}
}
return ret
} else {
let hasGenericType = typeParamList.filter{ (item: String) -> Bool in
ret.literalComponents.contains(item)
}.isEmpty == false
if hasGenericType || isOpaqueType {
ret = .anyType
if isTypeOptional {
ret += "?"
}
}
return ret
}
}