in bijection-macros/src/main/scala/com/twitter/bijection/macros/impl/CaseClassToTuple.scala [10:21]
def caseClassToTupleImplWithOption[T, Tup](c: Context)(
recursivelyApply: c.Expr[Boolean]
)(
proof: c.Expr[IsCaseClass[T]]
)(implicit T: c.WeakTypeTag[T], Tup: c.WeakTypeTag[Tup]): c.Expr[Bijection[T, Tup]] = {
import c.universe._
recursivelyApply match {
case q"""true""" => caseClassToTupleNoProofImpl(c)(T, Tup)
case q"""false""" => caseClassToTupleNoProofImplNonRecursive(c)(T, Tup)
case _ => caseClassToTupleNoProofImpl(c)(T, Tup)
}
}