in scrooge-generator/src/main/scala/com/twitter/scrooge/swift_generator/SwiftGenerator.scala [108:140]
override def typeName(
t: FunctionType,
inContainer: Boolean = false,
inInit: Boolean = false,
skipGeneric: Boolean = false,
fileNamespace: Option[Identifier] = None
): String = {
t match {
case at: AnnotatedFieldType =>
typeName(at.unwrap, inContainer, inInit, skipGeneric, fileNamespace)
case Void => "Void"
case OnewayVoid => "Void"
case TBool => "Bool"
case TByte => "UInt8"
case TI16 => "Int16"
case TI32 => "Int32"
case TI64 => "Int64"
case TDouble => "Double"
case TString => "String"
case TBinary => "Data"
case n: NamedType =>
qualifyNamedType(n.sid, n.scopePrefix, fileNamespace).fullName
case MapType(k, v, _) => "[" + typeName(k) + ":" + typeName(v) + "]"
case SetType(x, _) => {
val prefix = "Set"
prefix + ("<" + typeName(x) + ">")
}
case ListType(x, _) => "[" + typeName(x) + "]"
case r: ReferenceType =>
throw new ScroogeInternalException("ReferenceType should not appear in backend")
case _ => throw new ScroogeInternalException("unknown type")
}
}