private[this] def findRequireableStructTypes()

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