in scalafix/rules/src/main/scala/fix/v0_14_0/FixLogicalTypeSupplier.scala [48:74]
private def updateIOArgs(fnArgs: List[Term])(implicit doc: SemanticDocument): List[Term] = {
def filterArgs(lhsOpt: Option[Term], rhsOption: Boolean, confArgs: List[Term]): Option[Term] = {
val filtered = parquetConfigurationArgs(confArgs)
(lhsOpt, rhsOption, filtered.isEmpty) match {
case (_, _, true) => None
case (Some(lhs), true, false) => Some(q"$lhs = Some(ParquetConfiguration.of(..$filtered))")
case (Some(lhs), false, false) => Some(q"$lhs = ParquetConfiguration.of(..$filtered)")
case (None, true, false) => Some(q"Some(ParquetConfiguration.of(..$filtered))")
case (None, false, false) => Some(q"ParquetConfiguration.of(..$filtered)")
}
}
fnArgs.flatMap {
case q"$lhs = $fn(..$confArgs)" if ParquetConfigurationMatcher.matches(fn.symbol) =>
filterArgs(Some(lhs), false, confArgs)
case q"$fn(..$confArgs)" if ParquetConfigurationMatcher.matches(fn.symbol) =>
filterArgs(None, false, confArgs)
case q"$lhs = $maybeOpt($fn(..$confArgs))"
if ParquetConfigurationMatcher.matches(fn.symbol) && OptionMatcher.matches(maybeOpt) =>
filterArgs(Some(lhs), true, confArgs)
case q"$maybeOpt($fn(..$confArgs))"
if ParquetConfigurationMatcher.matches(fn.symbol) && OptionMatcher.matches(maybeOpt) =>
filterArgs(None, true, confArgs)
case a =>
Some(a)
}
}