override def needsCompanionObject()

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
    }