in src/main/scala/com/spotify/scio/AvroTypeInjector.scala [43:57]
override def needsCompanionObject(source: ScTypeDefinition): Boolean = false
override def injectFunctions(source: ScTypeDefinition): Seq[String] =
source match {
case c: ScClass if avroAnnotation(c).isDefined =>
val fields = for {
cc <- Option(c.containingClass).toSeq
qn <- Option(cc.getQualifiedName).toSeq
parent = qn.init
cls <- generatedCaseClasses(parent, c).find(_.contains(HasAvroAnnotationSuper)).toSeq
v <- getApplyPropsSignature(cls)
} yield s"def $v = ???"
CaseClassFunctions ++ fields
case _ => Seq.empty
}