private def updateIOArgs()

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)
    }
  }