Github user chenghao-intel commented on a diff in the pull request:

    https://github.com/apache/spark/pull/5154#discussion_r27100123
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala
 ---
    @@ -39,363 +39,668 @@ case class ScalaUdf(function: AnyRef, dataType: 
DataType, children: Seq[Expressi
     
         (1 to 22).map { x =>
           val anys = (1 to x).map(x => "Any").reduce(_ + ", " + _)
    -      val evals = (0 to x - 1).map(x => s"    
ScalaReflection.convertToScala(children($x).eval(input), 
children($x).dataType)").reduce(_ + ",\n    " + _)
    -
    -    s"""
    -    case $x =>
    -      function.asInstanceOf[($anys) => Any](
    -    $evals)
    -    """
    +      val childs = (0 to x - 1).map(x => s"val child$x = 
children($x)").reduce(_ + "\n      " + _)
    +      val evals = (0 to x - 1).map(x => 
s"ScalaReflection.convertToScala(child$x.eval(input), 
child$x.dataType)").reduce(_ + ",\n          " + _)
    +
    +      s"""    case $x =>
    +      val func = function.asInstanceOf[($anys) => Any]
    +      $childs
    +      (input: Row) => {
    +        func(
    +          $evals)
    +      }
    +      """
         }.foreach(println)
     
       */
    -
    -  override def eval(input: Row): Any = {
    -    val result = children.size match {
    -      case 0 => function.asInstanceOf[() => Any]()
    -      case 1 =>
    -        function.asInstanceOf[(Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType))
    -
    -
    -      case 2 =>
    -        function.asInstanceOf[(Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType))
    -
    -
    -      case 3 =>
    -        function.asInstanceOf[(Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType))
    -
    -
    -      case 4 =>
    -        function.asInstanceOf[(Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType))
    -
    -
    -      case 5 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType))
    -
    -
    -      case 6 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType))
    -
    -
    -      case 7 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType))
    -
    -
    -      case 8 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any) => 
Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType))
    -
    -
    -      case 9 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType))
    -
    -
    -      case 10 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType))
    -
    -
    -      case 11 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType))
    -
    -
    -      case 12 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType))
    -
    -
    -      case 13 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType))
    -
    -
    -      case 14 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType))
    -
    -
    -      case 15 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType))
    -
    -
    -      case 16 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType),
    -          ScalaReflection.convertToScala(children(15).eval(input), 
children(15).dataType))
    -
    -
    -      case 17 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType),
    -          ScalaReflection.convertToScala(children(15).eval(input), 
children(15).dataType),
    -          ScalaReflection.convertToScala(children(16).eval(input), 
children(16).dataType))
    -
    -
    -      case 18 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType),
    -          ScalaReflection.convertToScala(children(15).eval(input), 
children(15).dataType),
    -          ScalaReflection.convertToScala(children(16).eval(input), 
children(16).dataType),
    -          ScalaReflection.convertToScala(children(17).eval(input), 
children(17).dataType))
    -
    -
    -      case 19 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType),
    -          ScalaReflection.convertToScala(children(15).eval(input), 
children(15).dataType),
    -          ScalaReflection.convertToScala(children(16).eval(input), 
children(16).dataType),
    -          ScalaReflection.convertToScala(children(17).eval(input), 
children(17).dataType),
    -          ScalaReflection.convertToScala(children(18).eval(input), 
children(18).dataType))
    -
    -
    -      case 20 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType),
    -          ScalaReflection.convertToScala(children(15).eval(input), 
children(15).dataType),
    -          ScalaReflection.convertToScala(children(16).eval(input), 
children(16).dataType),
    -          ScalaReflection.convertToScala(children(17).eval(input), 
children(17).dataType),
    -          ScalaReflection.convertToScala(children(18).eval(input), 
children(18).dataType),
    -          ScalaReflection.convertToScala(children(19).eval(input), 
children(19).dataType))
    -
    -
    -      case 21 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType),
    -          ScalaReflection.convertToScala(children(15).eval(input), 
children(15).dataType),
    -          ScalaReflection.convertToScala(children(16).eval(input), 
children(16).dataType),
    -          ScalaReflection.convertToScala(children(17).eval(input), 
children(17).dataType),
    -          ScalaReflection.convertToScala(children(18).eval(input), 
children(18).dataType),
    -          ScalaReflection.convertToScala(children(19).eval(input), 
children(19).dataType),
    -          ScalaReflection.convertToScala(children(20).eval(input), 
children(20).dataType))
    -
    -
    -      case 22 =>
    -        function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any](
    -          ScalaReflection.convertToScala(children(0).eval(input), 
children(0).dataType),
    -          ScalaReflection.convertToScala(children(1).eval(input), 
children(1).dataType),
    -          ScalaReflection.convertToScala(children(2).eval(input), 
children(2).dataType),
    -          ScalaReflection.convertToScala(children(3).eval(input), 
children(3).dataType),
    -          ScalaReflection.convertToScala(children(4).eval(input), 
children(4).dataType),
    -          ScalaReflection.convertToScala(children(5).eval(input), 
children(5).dataType),
    -          ScalaReflection.convertToScala(children(6).eval(input), 
children(6).dataType),
    -          ScalaReflection.convertToScala(children(7).eval(input), 
children(7).dataType),
    -          ScalaReflection.convertToScala(children(8).eval(input), 
children(8).dataType),
    -          ScalaReflection.convertToScala(children(9).eval(input), 
children(9).dataType),
    -          ScalaReflection.convertToScala(children(10).eval(input), 
children(10).dataType),
    -          ScalaReflection.convertToScala(children(11).eval(input), 
children(11).dataType),
    -          ScalaReflection.convertToScala(children(12).eval(input), 
children(12).dataType),
    -          ScalaReflection.convertToScala(children(13).eval(input), 
children(13).dataType),
    -          ScalaReflection.convertToScala(children(14).eval(input), 
children(14).dataType),
    -          ScalaReflection.convertToScala(children(15).eval(input), 
children(15).dataType),
    -          ScalaReflection.convertToScala(children(16).eval(input), 
children(16).dataType),
    -          ScalaReflection.convertToScala(children(17).eval(input), 
children(17).dataType),
    -          ScalaReflection.convertToScala(children(18).eval(input), 
children(18).dataType),
    -          ScalaReflection.convertToScala(children(19).eval(input), 
children(19).dataType),
    -          ScalaReflection.convertToScala(children(20).eval(input), 
children(20).dataType),
    -          ScalaReflection.convertToScala(children(21).eval(input), 
children(21).dataType))
    -
    -    }
    -    // scalastyle:on
    -
    -    ScalaReflection.convertToCatalyst(result, dataType)
    +  
    +  val f = children.size match {
    +    case 0 => 
    +      val func = function.asInstanceOf[() => Any]
    +      (input: Row) => {
    +        func()
    +      }
    +      
    +    case 1 =>
    +      val func = function.asInstanceOf[(Any) => Any]
    +      val child0 = children(0)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType))
    +      }
    +      
    +    case 2 =>
    +      val func = function.asInstanceOf[(Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType))
    +      }
    +      
    +    case 3 =>
    +      val func = function.asInstanceOf[(Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType))
    +      }
    +      
    +    case 4 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType))
    +      }
    +      
    +    case 5 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType))
    +      }
    +      
    +    case 6 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any) => 
Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType))
    +      }
    +      
    +    case 7 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any) 
=> Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType))
    +      }
    +      
    +    case 8 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType))
    +      }
    +      
    +    case 9 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType))
    +      }
    +      
    +    case 10 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType))
    +      }
    +      
    +    case 11 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType))
    +      }
    +      
    +    case 12 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType))
    +      }
    +      
    +    case 13 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType))
    +      }
    +      
    +    case 14 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType))
    +      }
    +      
    +    case 15 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType))
    +      }
    +      
    +    case 16 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      val child15 = children(15)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType),
    +          ScalaReflection.convertToScala(child15.eval(input), 
child15.dataType))
    +      }
    +      
    +    case 17 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      val child15 = children(15)
    +      val child16 = children(16)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType),
    +          ScalaReflection.convertToScala(child15.eval(input), 
child15.dataType),
    +          ScalaReflection.convertToScala(child16.eval(input), 
child16.dataType))
    +      }
    +      
    +    case 18 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      val child15 = children(15)
    +      val child16 = children(16)
    +      val child17 = children(17)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType),
    +          ScalaReflection.convertToScala(child15.eval(input), 
child15.dataType),
    +          ScalaReflection.convertToScala(child16.eval(input), 
child16.dataType),
    +          ScalaReflection.convertToScala(child17.eval(input), 
child17.dataType))
    +      }
    +      
    +    case 19 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      val child15 = children(15)
    +      val child16 = children(16)
    +      val child17 = children(17)
    +      val child18 = children(18)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType),
    +          ScalaReflection.convertToScala(child15.eval(input), 
child15.dataType),
    +          ScalaReflection.convertToScala(child16.eval(input), 
child16.dataType),
    +          ScalaReflection.convertToScala(child17.eval(input), 
child17.dataType),
    +          ScalaReflection.convertToScala(child18.eval(input), 
child18.dataType))
    +      }
    +      
    +    case 20 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      val child15 = children(15)
    +      val child16 = children(16)
    +      val child17 = children(17)
    +      val child18 = children(18)
    +      val child19 = children(19)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType),
    +          ScalaReflection.convertToScala(child15.eval(input), 
child15.dataType),
    +          ScalaReflection.convertToScala(child16.eval(input), 
child16.dataType),
    +          ScalaReflection.convertToScala(child17.eval(input), 
child17.dataType),
    +          ScalaReflection.convertToScala(child18.eval(input), 
child18.dataType),
    +          ScalaReflection.convertToScala(child19.eval(input), 
child19.dataType))
    +      }
    +      
    +    case 21 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      val child15 = children(15)
    +      val child16 = children(16)
    +      val child17 = children(17)
    +      val child18 = children(18)
    +      val child19 = children(19)
    +      val child20 = children(20)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType),
    +          ScalaReflection.convertToScala(child15.eval(input), 
child15.dataType),
    +          ScalaReflection.convertToScala(child16.eval(input), 
child16.dataType),
    +          ScalaReflection.convertToScala(child17.eval(input), 
child17.dataType),
    +          ScalaReflection.convertToScala(child18.eval(input), 
child18.dataType),
    +          ScalaReflection.convertToScala(child19.eval(input), 
child19.dataType),
    +          ScalaReflection.convertToScala(child20.eval(input), 
child20.dataType))
    +      }
    +      
    +    case 22 =>
    +      val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, 
Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => 
Any]
    +      val child0 = children(0)
    +      val child1 = children(1)
    +      val child2 = children(2)
    +      val child3 = children(3)
    +      val child4 = children(4)
    +      val child5 = children(5)
    +      val child6 = children(6)
    +      val child7 = children(7)
    +      val child8 = children(8)
    +      val child9 = children(9)
    +      val child10 = children(10)
    +      val child11 = children(11)
    +      val child12 = children(12)
    +      val child13 = children(13)
    +      val child14 = children(14)
    +      val child15 = children(15)
    +      val child16 = children(16)
    +      val child17 = children(17)
    +      val child18 = children(18)
    +      val child19 = children(19)
    +      val child20 = children(20)
    +      val child21 = children(21)
    +      (input: Row) => {
    +        func(
    +          ScalaReflection.convertToScala(child0.eval(input), 
child0.dataType),
    +          ScalaReflection.convertToScala(child1.eval(input), 
child1.dataType),
    +          ScalaReflection.convertToScala(child2.eval(input), 
child2.dataType),
    +          ScalaReflection.convertToScala(child3.eval(input), 
child3.dataType),
    +          ScalaReflection.convertToScala(child4.eval(input), 
child4.dataType),
    +          ScalaReflection.convertToScala(child5.eval(input), 
child5.dataType),
    +          ScalaReflection.convertToScala(child6.eval(input), 
child6.dataType),
    +          ScalaReflection.convertToScala(child7.eval(input), 
child7.dataType),
    +          ScalaReflection.convertToScala(child8.eval(input), 
child8.dataType),
    +          ScalaReflection.convertToScala(child9.eval(input), 
child9.dataType),
    +          ScalaReflection.convertToScala(child10.eval(input), 
child10.dataType),
    +          ScalaReflection.convertToScala(child11.eval(input), 
child11.dataType),
    +          ScalaReflection.convertToScala(child12.eval(input), 
child12.dataType),
    +          ScalaReflection.convertToScala(child13.eval(input), 
child13.dataType),
    +          ScalaReflection.convertToScala(child14.eval(input), 
child14.dataType),
    +          ScalaReflection.convertToScala(child15.eval(input), 
child15.dataType),
    +          ScalaReflection.convertToScala(child16.eval(input), 
child16.dataType),
    +          ScalaReflection.convertToScala(child17.eval(input), 
child17.dataType),
    +          ScalaReflection.convertToScala(child18.eval(input), 
child18.dataType),
    +          ScalaReflection.convertToScala(child19.eval(input), 
child19.dataType),
    +          ScalaReflection.convertToScala(child20.eval(input), 
child20.dataType),
    +          ScalaReflection.convertToScala(child21.eval(input), 
child21.dataType))
    +      }
       }
    -}
    +  
    +  // scalastyle:on
    +  
    +  override def eval(input: Row): Any = 
ScalaReflection.convertToCatalyst(f(input), dataType)
    +}
    --- End diff --
    
    A newline should be added at the end of source file.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to