in scrooge-generator/src/main/scala/com/twitter/scrooge/backend/lua/LuaGenerator.scala [176:194]
private[this] def findRequireableStructTypes(
ft: FieldType,
excludeSelfType: SimpleID
): Seq[NamedType] = {
ft match {
case at: AnnotatedFieldType => findRequireableStructTypes(at.unwrap, excludeSelfType)
case t: NamedType if (excludeSelfType == t.sid) => Nil
case t: StructType => Seq(t)
case t: EnumType => Seq(t)
case ListType(t, _) => findRequireableStructTypes(t, excludeSelfType)
case MapType(keyType, valueType, _) =>
findRequireableStructTypes(keyType, excludeSelfType) ++ findRequireableStructTypes(
valueType,
excludeSelfType
)
case SetType(t, _) => findRequireableStructTypes(t, excludeSelfType)
case _ => Nil
}
}