@@ -155,6 +155,8 @@ trait HigherOrderFunction extends Expression with ExpectsInputTypes {
155155 */
156156trait SimpleHigherOrderFunction extends HigherOrderFunction {
157157
158+ override def nullable : Boolean = argument.nullable
159+
158160 def argument : Expression
159161
160162 override def arguments : Seq [Expression ] = argument :: Nil
@@ -217,8 +219,6 @@ case class ArrayTransform(
217219 function : Expression )
218220 extends ArrayBasedSimpleHigherOrderFunction with CodegenFallback {
219221
220- override def nullable : Boolean = argument.nullable
221-
222222 override def dataType : ArrayType = ArrayType (function.dataType, function.nullable)
223223
224224 override def bind (f : (Expression , Seq [(DataType , Boolean )]) => LambdaFunction ): ArrayTransform = {
@@ -287,8 +287,6 @@ case class MapFilter(
287287 copy(function = f(function, (keyType, false ) :: (valueType, valueContainsNull) :: Nil ))
288288 }
289289
290- override def nullable : Boolean = argument.nullable
291-
292290 override def nullSafeEval (inputRow : InternalRow , argumentValue : Any ): Any = {
293291 val m = argumentValue.asInstanceOf [MapData ]
294292 val f = functionForEval
@@ -328,8 +326,6 @@ case class ArrayFilter(
328326 function : Expression )
329327 extends ArrayBasedSimpleHigherOrderFunction with CodegenFallback {
330328
331- override def nullable : Boolean = argument.nullable
332-
333329 override def dataType : DataType = argument.dataType
334330
335331 override def functionType : AbstractDataType = BooleanType
@@ -375,8 +371,6 @@ case class ArrayExists(
375371 function : Expression )
376372 extends ArrayBasedSimpleHigherOrderFunction with CodegenFallback {
377373
378- override def nullable : Boolean = argument.nullable
379-
380374 override def dataType : DataType = BooleanType
381375
382376 override def functionType : AbstractDataType = BooleanType
@@ -516,8 +510,6 @@ case class TransformKeys(
516510 function : Expression )
517511 extends MapBasedSimpleHigherOrderFunction with CodegenFallback {
518512
519- override def nullable : Boolean = argument.nullable
520-
521513 @ transient lazy val MapType (keyType, valueType, valueContainsNull) = argument.dataType
522514
523515 override def dataType : DataType = MapType (function.dataType, valueType, valueContainsNull)
@@ -568,8 +560,6 @@ case class TransformValues(
568560 function : Expression )
569561 extends MapBasedSimpleHigherOrderFunction with CodegenFallback {
570562
571- override def nullable : Boolean = argument.nullable
572-
573563 @ transient lazy val MapType (keyType, valueType, valueContainsNull) = argument.dataType
574564
575565 override def dataType : DataType = MapType (keyType, function.dataType, function.nullable)
0 commit comments