in scrooge-generator/src/main/scala/com/twitter/scrooge/backend/StructTemplate.scala [576:594]
private def canCallWithoutPassthroughFields(fieldType: FieldType): Boolean = {
fieldType match {
case at: AnnotatedFieldType => canCallWithoutPassthroughFields(at.unwrap)
case t if isPrimitive(t) =>
true
case TBinary | TString =>
true
case _: EnumType =>
true
case ListType(eltType, _) =>
canCallWithoutPassthroughFields(eltType)
case SetType(eltType, _) =>
canCallWithoutPassthroughFields(eltType)
case MapType(keyType, valueType, _) =>
canCallWithoutPassthroughFields(keyType) && canCallWithoutPassthroughFields(valueType)
case _ =>
false
}
}