[MINOR] [SQL] GeneratedExpressionCode -> ExprCode

GeneratedExpressionCode is too long

Author: Davies Liu <dav...@databricks.com>

Closes #10767 from davies/renaming.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/c5e7076d
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/c5e7076d
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/c5e7076d

Branch: refs/heads/master
Commit: c5e7076da72657ea35a0aa388f8d2e6411d39280
Parents: ba4a641
Author: Davies Liu <dav...@databricks.com>
Authored: Fri Jan 15 08:26:20 2016 -0800
Committer: Davies Liu <davies....@gmail.com>
Committed: Fri Jan 15 08:26:20 2016 -0800

----------------------------------------------------------------------
 .../catalyst/expressions/BoundAttribute.scala   |  4 +-
 .../spark/sql/catalyst/expressions/Cast.scala   | 20 +++---
 .../sql/catalyst/expressions/Expression.scala   | 44 +++++++-------
 .../catalyst/expressions/InputFileName.scala    |  4 +-
 .../expressions/MonotonicallyIncreasingID.scala |  4 +-
 .../sql/catalyst/expressions/ScalaUDF.scala     |  6 +-
 .../sql/catalyst/expressions/SortOrder.scala    |  4 +-
 .../catalyst/expressions/SparkPartitionID.scala |  4 +-
 .../sql/catalyst/expressions/arithmetic.scala   | 22 +++----
 .../expressions/bitwiseExpressions.scala        |  2 +-
 .../expressions/codegen/CodeGenerator.scala     | 16 ++---
 .../expressions/codegen/CodegenFallback.scala   |  2 +-
 .../expressions/codegen/GenerateOrdering.scala  |  4 +-
 .../codegen/GenerateSafeProjection.scala        | 26 ++++----
 .../codegen/GenerateUnsafeProjection.scala      | 20 +++---
 .../expressions/collectionOperations.scala      |  6 +-
 .../expressions/complexTypeCreator.scala        | 10 +--
 .../expressions/complexTypeExtractors.scala     | 10 +--
 .../expressions/conditionalExpressions.scala    | 12 ++--
 .../expressions/datetimeExpressions.scala       | 54 ++++++++---------
 .../expressions/decimalExpressions.scala        | 12 ++--
 .../sql/catalyst/expressions/literals.scala     |  2 +-
 .../catalyst/expressions/mathExpressions.scala  | 36 +++++------
 .../spark/sql/catalyst/expressions/misc.scala   | 28 ++++-----
 .../catalyst/expressions/namedExpressions.scala |  4 +-
 .../catalyst/expressions/nullExpressions.scala  | 14 ++---
 .../sql/catalyst/expressions/objects.scala      | 28 ++++-----
 .../sql/catalyst/expressions/predicates.scala   | 18 +++---
 .../expressions/randomExpressions.scala         |  6 +-
 .../expressions/regexpExpressions.scala         | 10 +--
 .../expressions/stringExpressions.scala         | 64 ++++++++++----------
 .../expressions/NonFoldableLiteral.scala        |  2 +-
 32 files changed, 249 insertions(+), 249 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/BoundAttribute.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/BoundAttribute.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/BoundAttribute.scala
index c94b2c0..397abc7 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/BoundAttribute.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/BoundAttribute.scala
@@ -20,7 +20,7 @@ package org.apache.spark.sql.catalyst.expressions
 import org.apache.spark.Logging
 import org.apache.spark.sql.catalyst.InternalRow
 import org.apache.spark.sql.catalyst.errors.attachTree
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.types._
 
 /**
@@ -68,7 +68,7 @@ case class BoundReference(ordinal: Int, dataType: DataType, 
nullable: Boolean)
 
   override def newInstance(): NamedExpression = this
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val javaType = ctx.javaType(dataType)
     val value = ctx.getValue(ctx.INPUT_ROW, dataType, ordinal.toString)
     if (nullable) {

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
index 6f199cf..1072158 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
@@ -446,7 +446,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
 
   protected override def nullSafeEval(input: Any): Any = cast(input)
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval = child.gen(ctx)
     val nullSafeCast = nullSafeCastFunction(child.dataType, dataType, ctx)
     eval.code +
@@ -460,7 +460,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
   private[this] def nullSafeCastFunction(
       from: DataType,
       to: DataType,
-      ctx: CodeGenContext): CastFunction = to match {
+      ctx: CodegenContext): CastFunction = to match {
 
     case _ if from == NullType => (c, evPrim, evNull) => s"$evNull = true;"
     case _ if to == from => (c, evPrim, evNull) => s"$evPrim = $c;"
@@ -491,7 +491,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
 
   // Since we need to cast child expressions recursively inside ComplexTypes, 
such as Map's
   // Key and Value, Struct's field, we need to name out all the variable names 
involved in a cast.
-  private[this] def castCode(ctx: CodeGenContext, childPrim: String, 
childNull: String,
+  private[this] def castCode(ctx: CodegenContext, childPrim: String, 
childNull: String,
     resultPrim: String, resultNull: String, resultType: DataType, cast: 
CastFunction): String = {
     s"""
       boolean $resultNull = $childNull;
@@ -502,7 +502,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
     """
   }
 
-  private[this] def castToStringCode(from: DataType, ctx: CodeGenContext): 
CastFunction = {
+  private[this] def castToStringCode(from: DataType, ctx: CodegenContext): 
CastFunction = {
     from match {
       case BinaryType =>
         (c, evPrim, evNull) => s"$evPrim = UTF8String.fromBytes($c);"
@@ -524,7 +524,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
 
   private[this] def castToDateCode(
       from: DataType,
-      ctx: CodeGenContext): CastFunction = from match {
+      ctx: CodegenContext): CastFunction = from match {
     case StringType =>
       val intOpt = ctx.freshName("intOpt")
       (c, evPrim, evNull) => s"""
@@ -556,7 +556,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
   private[this] def castToDecimalCode(
       from: DataType,
       target: DecimalType,
-      ctx: CodeGenContext): CastFunction = {
+      ctx: CodegenContext): CastFunction = {
     val tmp = ctx.freshName("tmpDecimal")
     from match {
       case StringType =>
@@ -614,7 +614,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
 
   private[this] def castToTimestampCode(
       from: DataType,
-      ctx: CodeGenContext): CastFunction = from match {
+      ctx: CodegenContext): CastFunction = from match {
     case StringType =>
       val longOpt = ctx.freshName("longOpt")
       (c, evPrim, evNull) =>
@@ -826,7 +826,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
   }
 
   private[this] def castArrayCode(
-      fromType: DataType, toType: DataType, ctx: CodeGenContext): CastFunction 
= {
+      fromType: DataType, toType: DataType, ctx: CodegenContext): CastFunction 
= {
     val elementCast = nullSafeCastFunction(fromType, toType, ctx)
     val arrayClass = classOf[GenericArrayData].getName
     val fromElementNull = ctx.freshName("feNull")
@@ -861,7 +861,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
       """
   }
 
-  private[this] def castMapCode(from: MapType, to: MapType, ctx: 
CodeGenContext): CastFunction = {
+  private[this] def castMapCode(from: MapType, to: MapType, ctx: 
CodegenContext): CastFunction = {
     val keysCast = castArrayCode(from.keyType, to.keyType, ctx)
     val valuesCast = castArrayCode(from.valueType, to.valueType, ctx)
 
@@ -889,7 +889,7 @@ case class Cast(child: Expression, dataType: DataType) 
extends UnaryExpression {
   }
 
   private[this] def castStructCode(
-      from: StructType, to: StructType, ctx: CodeGenContext): CastFunction = {
+      from: StructType, to: StructType, ctx: CodegenContext): CastFunction = {
 
     val fieldsCasts = from.fields.zip(to.fields).map {
       case (fromField, toField) => nullSafeCastFunction(fromField.dataType, 
toField.dataType, ctx)

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Expression.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Expression.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Expression.scala
index d621951..25cf210 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Expression.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Expression.scala
@@ -86,22 +86,22 @@ abstract class Expression extends TreeNode[Expression] {
   def eval(input: InternalRow = null): Any
 
   /**
-   * Returns an [[GeneratedExpressionCode]], which contains Java source code 
that
+   * Returns an [[ExprCode]], which contains Java source code that
    * can be used to generate the result of evaluating the expression on an 
input row.
    *
-   * @param ctx a [[CodeGenContext]]
-   * @return [[GeneratedExpressionCode]]
+   * @param ctx a [[CodegenContext]]
+   * @return [[ExprCode]]
    */
-  def gen(ctx: CodeGenContext): GeneratedExpressionCode = {
+  def gen(ctx: CodegenContext): ExprCode = {
     ctx.subExprEliminationExprs.get(this).map { subExprState =>
       // This expression is repeated meaning the code to evaluated has already 
been added
       // as a function and called in advance. Just use it.
       val code = s"/* ${this.toCommentSafeString} */"
-      GeneratedExpressionCode(code, subExprState.isNull, subExprState.value)
+      ExprCode(code, subExprState.isNull, subExprState.value)
     }.getOrElse {
       val isNull = ctx.freshName("isNull")
       val primitive = ctx.freshName("primitive")
-      val ve = GeneratedExpressionCode("", isNull, primitive)
+      val ve = ExprCode("", isNull, primitive)
       ve.code = genCode(ctx, ve)
       // Add `this` in the comment.
       ve.copy(s"/* ${this.toCommentSafeString} */\n" + ve.code.trim)
@@ -113,11 +113,11 @@ abstract class Expression extends TreeNode[Expression] {
    * The default behavior is to call the eval method of the expression. 
Concrete expression
    * implementations should override this to do actual code generation.
    *
-   * @param ctx a [[CodeGenContext]]
-   * @param ev an [[GeneratedExpressionCode]] with unique terms.
+   * @param ctx a [[CodegenContext]]
+   * @param ev an [[ExprCode]] with unique terms.
    * @return Java source code
    */
-  protected def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String
+  protected def genCode(ctx: CodegenContext, ev: ExprCode): String
 
   /**
    * Returns `true` if this expression and all its children have been resolved 
to a specific schema
@@ -245,7 +245,7 @@ trait Unevaluable extends Expression {
   final override def eval(input: InternalRow = null): Any =
     throw new UnsupportedOperationException(s"Cannot evaluate expression: 
$this")
 
-  final override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String =
+  final override protected def genCode(ctx: CodegenContext, ev: ExprCode): 
String =
     throw new UnsupportedOperationException(s"Cannot evaluate expression: 
$this")
 }
 
@@ -330,8 +330,8 @@ abstract class UnaryExpression extends Expression {
    * @param f function that accepts a variable name and returns Java code to 
compute the output.
    */
   protected def defineCodeGen(
-      ctx: CodeGenContext,
-      ev: GeneratedExpressionCode,
+      ctx: CodegenContext,
+      ev: ExprCode,
       f: String => String): String = {
     nullSafeCodeGen(ctx, ev, eval => {
       s"${ev.value} = ${f(eval)};"
@@ -346,8 +346,8 @@ abstract class UnaryExpression extends Expression {
    *          code to compute the output.
    */
   protected def nullSafeCodeGen(
-      ctx: CodeGenContext,
-      ev: GeneratedExpressionCode,
+      ctx: CodegenContext,
+      ev: ExprCode,
       f: String => String): String = {
     val eval = child.gen(ctx)
     if (nullable) {
@@ -420,8 +420,8 @@ abstract class BinaryExpression extends Expression {
    * @param f accepts two variable names and returns Java code to compute the 
output.
    */
   protected def defineCodeGen(
-      ctx: CodeGenContext,
-      ev: GeneratedExpressionCode,
+      ctx: CodegenContext,
+      ev: ExprCode,
       f: (String, String) => String): String = {
     nullSafeCodeGen(ctx, ev, (eval1, eval2) => {
       s"${ev.value} = ${f(eval1, eval2)};"
@@ -437,8 +437,8 @@ abstract class BinaryExpression extends Expression {
    *          and returns Java code to compute the output.
    */
   protected def nullSafeCodeGen(
-      ctx: CodeGenContext,
-      ev: GeneratedExpressionCode,
+      ctx: CodegenContext,
+      ev: ExprCode,
       f: (String, String) => String): String = {
     val eval1 = left.gen(ctx)
     val eval2 = right.gen(ctx)
@@ -560,8 +560,8 @@ abstract class TernaryExpression extends Expression {
    * @param f accepts two variable names and returns Java code to compute the 
output.
    */
   protected def defineCodeGen(
-    ctx: CodeGenContext,
-    ev: GeneratedExpressionCode,
+    ctx: CodegenContext,
+    ev: ExprCode,
     f: (String, String, String) => String): String = {
     nullSafeCodeGen(ctx, ev, (eval1, eval2, eval3) => {
       s"${ev.value} = ${f(eval1, eval2, eval3)};"
@@ -577,8 +577,8 @@ abstract class TernaryExpression extends Expression {
    *          and returns Java code to compute the output.
    */
   protected def nullSafeCodeGen(
-    ctx: CodeGenContext,
-    ev: GeneratedExpressionCode,
+    ctx: CodegenContext,
+    ev: ExprCode,
     f: (String, String, String) => String): String = {
     val evals = children.map(_.gen(ctx))
     val resultCode = f(evals(0).value, evals(1).value, evals(2).value)

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/InputFileName.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/InputFileName.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/InputFileName.scala
index 827dce8..c49c601 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/InputFileName.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/InputFileName.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.expressions
 
 import org.apache.spark.rdd.SqlNewHadoopRDDState
 import org.apache.spark.sql.catalyst.InternalRow
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.types.{DataType, StringType}
 import org.apache.spark.unsafe.types.UTF8String
 
@@ -43,7 +43,7 @@ case class InputFileName() extends LeafExpression with 
Nondeterministic {
     SqlNewHadoopRDDState.getInputFileName()
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     ev.isNull = "false"
     s"final ${ctx.javaType(dataType)} ${ev.value} = " +
       "org.apache.spark.rdd.SqlNewHadoopRDDState.getInputFileName();"

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/MonotonicallyIncreasingID.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/MonotonicallyIncreasingID.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/MonotonicallyIncreasingID.scala
index 94f8801..5d28f8f 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/MonotonicallyIncreasingID.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/MonotonicallyIncreasingID.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.expressions
 
 import org.apache.spark.TaskContext
 import org.apache.spark.sql.catalyst.InternalRow
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.types.{DataType, LongType}
 
 /**
@@ -65,7 +65,7 @@ private[sql] case class MonotonicallyIncreasingID() extends 
LeafExpression with
     partitionMask + currentCount
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val countTerm = ctx.freshName("count")
     val partitionMaskTerm = ctx.freshName("partitionMask")
     ctx.addMutableState(ctx.JAVA_LONG, countTerm, s"$countTerm = 0L;")

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala
index 3a6c909..4035c9d 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala
@@ -974,7 +974,7 @@ case class ScalaUDF(
   // scalastyle:on line.size.limit
 
   // Generate codes used to convert the arguments to Scala type for 
user-defined funtions
-  private[this] def genCodeForConverter(ctx: CodeGenContext, index: Int): 
String = {
+  private[this] def genCodeForConverter(ctx: CodegenContext, index: Int): 
String = {
     val converterClassName = classOf[Any => Any].getName
     val typeConvertersClassName = CatalystTypeConverters.getClass.getName + 
".MODULE$"
     val expressionClassName = classOf[Expression].getName
@@ -990,8 +990,8 @@ case class ScalaUDF(
   }
 
   override def genCode(
-      ctx: CodeGenContext,
-      ev: GeneratedExpressionCode): String = {
+      ctx: CodegenContext,
+      ev: ExprCode): String = {
 
     ctx.references += this
 

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SortOrder.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SortOrder.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SortOrder.scala
index 1cb1b9d..bd1d914 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SortOrder.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SortOrder.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.expressions
 
 import org.apache.spark.sql.catalyst.InternalRow
 import org.apache.spark.sql.catalyst.analysis.TypeCheckResult
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.types._
 import 
org.apache.spark.util.collection.unsafe.sort.PrefixComparators.BinaryPrefixComparator
 import 
org.apache.spark.util.collection.unsafe.sort.PrefixComparators.DoublePrefixComparator
@@ -69,7 +69,7 @@ case class SortPrefix(child: SortOrder) extends 
UnaryExpression {
 
   override def eval(input: InternalRow): Any = throw new 
UnsupportedOperationException
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val childCode = child.child.gen(ctx)
     val input = childCode.value
     val BinaryPrefixCmp = classOf[BinaryPrefixComparator].getName

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SparkPartitionID.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SparkPartitionID.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SparkPartitionID.scala
index aa39514..377f08e 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SparkPartitionID.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SparkPartitionID.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.expressions
 
 import org.apache.spark.TaskContext
 import org.apache.spark.sql.catalyst.InternalRow
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.types.{DataType, IntegerType}
 
 /**
@@ -44,7 +44,7 @@ private[sql] case class SparkPartitionID() extends 
LeafExpression with Nondeterm
 
   override protected def evalInternal(input: InternalRow): Int = partitionId
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val idTerm = ctx.freshName("partitionId")
     ctx.addMutableState(ctx.JAVA_INT, idTerm,
       s"$idTerm = org.apache.spark.TaskContext.getPartitionId();")

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/arithmetic.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/arithmetic.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/arithmetic.scala
index 7bd851c..1cacd3f 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/arithmetic.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/arithmetic.scala
@@ -34,7 +34,7 @@ case class UnaryMinus(child: Expression) extends 
UnaryExpression with ExpectsInp
 
   private lazy val numeric = TypeUtils.getNumeric(dataType)
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = dataType match {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = dataType 
match {
     case dt: DecimalType => defineCodeGen(ctx, ev, c => s"$c.unary_$$minus()")
     case dt: NumericType => nullSafeCodeGen(ctx, ev, eval => {
       val originValue = ctx.freshName("origin")
@@ -65,7 +65,7 @@ case class UnaryPositive(child: Expression) extends 
UnaryExpression with Expects
 
   override def dataType: DataType = child.dataType
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String =
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String =
     defineCodeGen(ctx, ev, c => c)
 
   protected override def nullSafeEval(input: Any): Any = input
@@ -87,7 +87,7 @@ case class Abs(child: Expression) extends UnaryExpression 
with ExpectsInputTypes
 
   private lazy val numeric = TypeUtils.getNumeric(dataType)
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = dataType match {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = dataType 
match {
     case dt: DecimalType =>
       defineCodeGen(ctx, ev, c => s"$c.abs()")
     case dt: NumericType =>
@@ -109,7 +109,7 @@ abstract class BinaryArithmetic extends BinaryOperator {
   def decimalMethod: String =
     sys.error("BinaryArithmetics must override either decimalMethod or 
genCode")
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = dataType match {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = dataType 
match {
     case dt: DecimalType =>
       defineCodeGen(ctx, ev, (eval1, eval2) => 
s"$eval1.$decimalMethod($eval2)")
     // byte and short are casted into int when add, minus, times or divide
@@ -141,7 +141,7 @@ case class Add(left: Expression, right: Expression) extends 
BinaryArithmetic {
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = dataType match {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = dataType 
match {
     case dt: DecimalType =>
       defineCodeGen(ctx, ev, (eval1, eval2) => s"$eval1.$$plus($eval2)")
     case ByteType | ShortType =>
@@ -170,7 +170,7 @@ case class Subtract(left: Expression, right: Expression) 
extends BinaryArithmeti
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = dataType match {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = dataType 
match {
     case dt: DecimalType =>
       defineCodeGen(ctx, ev, (eval1, eval2) => s"$eval1.$$minus($eval2)")
     case ByteType | ShortType =>
@@ -225,7 +225,7 @@ case class Divide(left: Expression, right: Expression) 
extends BinaryArithmetic
   /**
    * Special case handling due to division by 0 => null.
    */
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval1 = left.gen(ctx)
     val eval2 = right.gen(ctx)
     val isZero = if (dataType.isInstanceOf[DecimalType]) {
@@ -287,7 +287,7 @@ case class Remainder(left: Expression, right: Expression) 
extends BinaryArithmet
   /**
    * Special case handling for x % 0 ==> null.
    */
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval1 = left.gen(ctx)
     val eval2 = right.gen(ctx)
     val isZero = if (dataType.isInstanceOf[DecimalType]) {
@@ -344,7 +344,7 @@ case class MaxOf(left: Expression, right: Expression) 
extends BinaryArithmetic {
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval1 = left.gen(ctx)
     val eval2 = right.gen(ctx)
     val compCode = ctx.genComp(dataType, eval1.value, eval2.value)
@@ -398,7 +398,7 @@ case class MinOf(left: Expression, right: Expression) 
extends BinaryArithmetic {
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval1 = left.gen(ctx)
     val eval2 = right.gen(ctx)
     val compCode = ctx.genComp(dataType, eval1.value, eval2.value)
@@ -449,7 +449,7 @@ case class Pmod(left: Expression, right: Expression) 
extends BinaryArithmetic {
       case _: DecimalType => pmod(left.asInstanceOf[Decimal], 
right.asInstanceOf[Decimal])
     }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (eval1, eval2) => {
       dataType match {
         case dt: DecimalType =>

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/bitwiseExpressions.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/bitwiseExpressions.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/bitwiseExpressions.scala
index a1e48c4..a97bd9e 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/bitwiseExpressions.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/bitwiseExpressions.scala
@@ -118,7 +118,7 @@ case class BitwiseNot(child: Expression) extends 
UnaryExpression with ExpectsInp
       ((evalE: Long) => ~evalE).asInstanceOf[(Any) => Any]
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, c => s"(${ctx.javaType(dataType)}) ~($c)")
   }
 

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
index 6daa8ee..1c7083b 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
@@ -42,14 +42,14 @@ import org.apache.spark.util.Utils
  * @param value A term for a (possibly primitive) value of the result of the 
evaluation. Not
  *              valid if `isNull` is set to `true`.
  */
-case class GeneratedExpressionCode(var code: String, var isNull: String, var 
value: String)
+case class ExprCode(var code: String, var isNull: String, var value: String)
 
 /**
  * A context for codegen, which is used to bookkeeping the expressions those 
are not supported
  * by codegen, then they are evaluated directly. The unsupported expression is 
appended at the
  * end of `references`, the position of it is kept in the code, used to access 
and evaluate it.
  */
-class CodeGenContext {
+class CodegenContext {
 
   /**
    * Holding all the expressions those do not support codegen, will be 
evaluated directly.
@@ -454,7 +454,7 @@ class CodeGenContext {
    * expression will be combined in the `expressions` order.
    */
   def generateExpressions(expressions: Seq[Expression],
-      doSubexpressionElimination: Boolean = false): 
Seq[GeneratedExpressionCode] = {
+      doSubexpressionElimination: Boolean = false): Seq[ExprCode] = {
     if (doSubexpressionElimination) subexpressionElimination(expressions)
     expressions.map(e => e.gen(this))
   }
@@ -479,17 +479,17 @@ abstract class CodeGenerator[InType <: AnyRef, OutType <: 
AnyRef] extends Loggin
   protected val mutableRowType: String = classOf[MutableRow].getName
   protected val genericMutableRowType: String = 
classOf[GenericMutableRow].getName
 
-  protected def declareMutableStates(ctx: CodeGenContext): String = {
+  protected def declareMutableStates(ctx: CodegenContext): String = {
     ctx.mutableStates.map { case (javaType, variableName, _) =>
       s"private $javaType $variableName;"
     }.mkString("\n")
   }
 
-  protected def initMutableStates(ctx: CodeGenContext): String = {
+  protected def initMutableStates(ctx: CodegenContext): String = {
     ctx.mutableStates.map(_._3).mkString("\n")
   }
 
-  protected def declareAddedFunctions(ctx: CodeGenContext): String = {
+  protected def declareAddedFunctions(ctx: CodegenContext): String = {
     ctx.addedFunctions.map { case (funcName, funcCode) => funcCode 
}.mkString("\n").trim
   }
 
@@ -591,7 +591,7 @@ abstract class CodeGenerator[InType <: AnyRef, OutType <: 
AnyRef] extends Loggin
    * Create a new codegen context for expression evaluator, used to store those
    * expressions that don't support codegen
    */
-  def newCodeGenContext(): CodeGenContext = {
-    new CodeGenContext
+  def newCodeGenContext(): CodegenContext = {
+    new CodegenContext
   }
 }

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodegenFallback.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodegenFallback.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodegenFallback.scala
index 3353580..c98b735 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodegenFallback.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodegenFallback.scala
@@ -24,7 +24,7 @@ import org.apache.spark.sql.catalyst.expressions.{Expression, 
Nondeterministic}
  */
 trait CodegenFallback extends Expression {
 
-  protected def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     foreach {
       case n: Nondeterministic => n.setInitialValues()
       case _ =>

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateOrdering.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateOrdering.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateOrdering.scala
index 1af7c73..88bcf5b 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateOrdering.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateOrdering.scala
@@ -55,7 +55,7 @@ object GenerateOrdering extends CodeGenerator[Seq[SortOrder], 
Ordering[InternalR
    * Generates the code for comparing a struct type according to its natural 
ordering
    * (i.e. ascending order by field 1, then field 2, ..., then field n.
    */
-  def genComparisons(ctx: CodeGenContext, schema: StructType): String = {
+  def genComparisons(ctx: CodegenContext, schema: StructType): String = {
     val ordering = schema.fields.map(_.dataType).zipWithIndex.map {
       case(dt, index) => new SortOrder(BoundReference(index, dt, nullable = 
true), Ascending)
     }
@@ -65,7 +65,7 @@ object GenerateOrdering extends CodeGenerator[Seq[SortOrder], 
Ordering[InternalR
   /**
    * Generates the code for ordering based on the given order.
    */
-  def genComparisons(ctx: CodeGenContext, ordering: Seq[SortOrder]): String = {
+  def genComparisons(ctx: CodegenContext, ordering: Seq[SortOrder]): String = {
     val comparisons = ordering.map { order =>
       val eval = order.child.gen(ctx)
       val asc = order.direction == Ascending

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala
index 364dbb7..8651707 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala
@@ -40,9 +40,9 @@ object GenerateSafeProjection extends 
CodeGenerator[Seq[Expression], Projection]
     in.map(BindReferences.bindReference(_, inputSchema))
 
   private def createCodeForStruct(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       input: String,
-      schema: StructType): GeneratedExpressionCode = {
+      schema: StructType): ExprCode = {
     val tmp = ctx.freshName("tmp")
     val output = ctx.freshName("safeRow")
     val values = ctx.freshName("values")
@@ -68,13 +68,13 @@ object GenerateSafeProjection extends 
CodeGenerator[Seq[Expression], Projection]
       final InternalRow $output = new $rowClass($values);
     """
 
-    GeneratedExpressionCode(code, "false", output)
+    ExprCode(code, "false", output)
   }
 
   private def createCodeForArray(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       input: String,
-      elementType: DataType): GeneratedExpressionCode = {
+      elementType: DataType): ExprCode = {
     val tmp = ctx.freshName("tmp")
     val output = ctx.freshName("safeArray")
     val values = ctx.freshName("values")
@@ -96,14 +96,14 @@ object GenerateSafeProjection extends 
CodeGenerator[Seq[Expression], Projection]
       final ArrayData $output = new $arrayClass($values);
     """
 
-    GeneratedExpressionCode(code, "false", output)
+    ExprCode(code, "false", output)
   }
 
   private def createCodeForMap(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       input: String,
       keyType: DataType,
-      valueType: DataType): GeneratedExpressionCode = {
+      valueType: DataType): ExprCode = {
     val tmp = ctx.freshName("tmp")
     val output = ctx.freshName("safeMap")
     val mapClass = classOf[ArrayBasedMapData].getName
@@ -117,20 +117,20 @@ object GenerateSafeProjection extends 
CodeGenerator[Seq[Expression], Projection]
       final MapData $output = new $mapClass(${keyConverter.value}, 
${valueConverter.value});
     """
 
-    GeneratedExpressionCode(code, "false", output)
+    ExprCode(code, "false", output)
   }
 
   private def convertToSafe(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       input: String,
-      dataType: DataType): GeneratedExpressionCode = dataType match {
+      dataType: DataType): ExprCode = dataType match {
     case s: StructType => createCodeForStruct(ctx, input, s)
     case ArrayType(elementType, _) => createCodeForArray(ctx, input, 
elementType)
     case MapType(keyType, valueType, _) => createCodeForMap(ctx, input, 
keyType, valueType)
     // UTF8String act as a pointer if it's inside UnsafeRow, so copy it to 
make it safe.
-    case StringType => GeneratedExpressionCode("", "false", s"$input.clone()")
+    case StringType => ExprCode("", "false", s"$input.clone()")
     case udt: UserDefinedType[_] => convertToSafe(ctx, input, udt.sqlType)
-    case _ => GeneratedExpressionCode("", "false", input)
+    case _ => ExprCode("", "false", input)
   }
 
   protected def create(expressions: Seq[Expression]): Projection = {

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateUnsafeProjection.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateUnsafeProjection.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateUnsafeProjection.scala
index d0e031f..3a92992 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateUnsafeProjection.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateUnsafeProjection.scala
@@ -48,7 +48,7 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
 
   // TODO: if the nullability of field is correct, we can use it to save null 
check.
   private def writeStructToBuffer(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       input: String,
       fieldTypes: Seq[DataType],
       bufferHolder: String): String = {
@@ -56,7 +56,7 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
       val fieldName = ctx.freshName("fieldName")
       val code = s"final ${ctx.javaType(dt)} $fieldName = 
${ctx.getValue(input, dt, i.toString)};"
       val isNull = s"$input.isNullAt($i)"
-      GeneratedExpressionCode(code, isNull, fieldName)
+      ExprCode(code, isNull, fieldName)
     }
 
     s"""
@@ -69,9 +69,9 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
   }
 
   private def writeExpressionsToBuffer(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       row: String,
-      inputs: Seq[GeneratedExpressionCode],
+      inputs: Seq[ExprCode],
       inputTypes: Seq[DataType],
       bufferHolder: String): String = {
     val rowWriter = ctx.freshName("rowWriter")
@@ -160,7 +160,7 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
 
   // TODO: if the nullability of array element is correct, we can use it to 
save null check.
   private def writeArrayToBuffer(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       input: String,
       elementType: DataType,
       bufferHolder: String): String = {
@@ -232,7 +232,7 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
 
   // TODO: if the nullability of value element is correct, we can use it to 
save null check.
   private def writeMapToBuffer(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       input: String,
       keyType: DataType,
       valueType: DataType,
@@ -270,7 +270,7 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
    * If the input is already in unsafe format, we don't need to go through all 
elements/fields,
    * we can directly write it.
    */
-  private def writeUnsafeData(ctx: CodeGenContext, input: String, 
bufferHolder: String) = {
+  private def writeUnsafeData(ctx: CodegenContext, input: String, 
bufferHolder: String) = {
     val sizeInBytes = ctx.freshName("sizeInBytes")
     s"""
       final int $sizeInBytes = $input.getSizeInBytes();
@@ -282,9 +282,9 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
   }
 
   def createCode(
-      ctx: CodeGenContext,
+      ctx: CodegenContext,
       expressions: Seq[Expression],
-      useSubexprElimination: Boolean = false): GeneratedExpressionCode = {
+      useSubexprElimination: Boolean = false): ExprCode = {
     val exprEvals = ctx.generateExpressions(expressions, useSubexprElimination)
     val exprTypes = expressions.map(_.dataType)
 
@@ -305,7 +305,7 @@ object GenerateUnsafeProjection extends 
CodeGenerator[Seq[Expression], UnsafePro
 
         $result.pointTo($bufferHolder.buffer, $bufferHolder.totalSize());
       """
-    GeneratedExpressionCode(code, "false", result)
+    ExprCode(code, "false", result)
   }
 
   protected def canonicalize(in: Seq[Expression]): Seq[Expression] =

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collectionOperations.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collectionOperations.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collectionOperations.scala
index 7aac2e5..e36c985 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collectionOperations.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collectionOperations.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.expressions
 import java.util.Comparator
 
 import org.apache.spark.sql.catalyst.analysis.TypeCheckResult
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
CodegenFallback, GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
CodegenFallback, ExprCode}
 import org.apache.spark.sql.catalyst.util.{ArrayData, GenericArrayData, 
MapData}
 import org.apache.spark.sql.types._
 
@@ -35,7 +35,7 @@ case class Size(child: Expression) extends UnaryExpression 
with ExpectsInputType
     case _: MapType => value.asInstanceOf[MapData].numElements()
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, c => s"${ev.value} = ($c).numElements();")
   }
 }
@@ -170,7 +170,7 @@ case class ArrayContains(left: Expression, right: 
Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (arr, value) => {
       val i = ctx.freshName("i")
       val getValue = ctx.getValue(arr, right.dataType, i)

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
index d71bbd6..0df8101 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
@@ -46,7 +46,7 @@ case class CreateArray(children: Seq[Expression]) extends 
Expression {
     new GenericArrayData(children.map(_.eval(input)).toArray)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val arrayClass = classOf[GenericArrayData].getName
     val values = ctx.freshName("values")
     s"""
@@ -94,7 +94,7 @@ case class CreateStruct(children: Seq[Expression]) extends 
Expression {
     InternalRow(children.map(_.eval(input)): _*)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val rowClass = classOf[GenericInternalRow].getName
     val values = ctx.freshName("values")
     s"""
@@ -171,7 +171,7 @@ case class CreateNamedStruct(children: Seq[Expression]) 
extends Expression {
     InternalRow(valExprs.map(_.eval(input)): _*)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val rowClass = classOf[GenericInternalRow].getName
     val values = ctx.freshName("values")
     s"""
@@ -223,7 +223,7 @@ case class CreateStructUnsafe(children: Seq[Expression]) 
extends Expression {
     InternalRow(children.map(_.eval(input)): _*)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval = GenerateUnsafeProjection.createCode(ctx, children)
     ev.isNull = eval.isNull
     ev.value = eval.value
@@ -263,7 +263,7 @@ case class CreateNamedStructUnsafe(children: 
Seq[Expression]) extends Expression
     InternalRow(valExprs.map(_.eval(input)): _*)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval = GenerateUnsafeProjection.createCode(ctx, valExprs)
     ev.isNull = eval.isNull
     ev.value = eval.value

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeExtractors.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeExtractors.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeExtractors.scala
index 5bd97cc..5256baa 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeExtractors.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeExtractors.scala
@@ -20,7 +20,7 @@ package org.apache.spark.sql.catalyst.expressions
 import org.apache.spark.sql.AnalysisException
 import org.apache.spark.sql.catalyst.InternalRow
 import org.apache.spark.sql.catalyst.analysis._
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.catalyst.util.{ArrayData, GenericArrayData, 
MapData}
 import org.apache.spark.sql.types._
 
@@ -113,7 +113,7 @@ case class GetStructField(child: Expression, ordinal: Int, 
name: Option[String]
   protected override def nullSafeEval(input: Any): Any =
     input.asInstanceOf[InternalRow].get(ordinal, childSchema(ordinal).dataType)
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, eval => {
       if (nullable) {
         s"""
@@ -170,7 +170,7 @@ case class GetArrayStructFields(
     new GenericArrayData(result)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val arrayClass = classOf[GenericArrayData].getName
     nullSafeCodeGen(ctx, ev, eval => {
       s"""
@@ -225,7 +225,7 @@ case class GetArrayItem(child: Expression, ordinal: 
Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (eval1, eval2) => {
       s"""
         final int index = (int) $eval2;
@@ -285,7 +285,7 @@ case class GetMapValue(child: Expression, key: Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val index = ctx.freshName("index")
     val length = ctx.freshName("length")
     val keys = ctx.freshName("keys")

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/conditionalExpressions.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/conditionalExpressions.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/conditionalExpressions.scala
index 83abbcd..2a24235 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/conditionalExpressions.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/conditionalExpressions.scala
@@ -52,7 +52,7 @@ case class If(predicate: Expression, trueValue: Expression, 
falseValue: Expressi
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val condEval = predicate.gen(ctx)
     val trueEval = trueValue.gen(ctx)
     val falseEval = falseValue.gen(ctx)
@@ -136,7 +136,7 @@ case class CaseWhen(branches: Seq[(Expression, 
Expression)], elseValue: Option[E
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     // Generate code that looks like:
     //
     // condA = ...
@@ -275,11 +275,11 @@ case class Least(children: Seq[Expression]) extends 
Expression {
     })
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val evalChildren = children.map(_.gen(ctx))
     val first = evalChildren(0)
     val rest = evalChildren.drop(1)
-    def updateEval(eval: GeneratedExpressionCode): String = {
+    def updateEval(eval: ExprCode): String = {
       s"""
         ${eval.code}
         if (!${eval.isNull} && (${ev.isNull} ||
@@ -334,11 +334,11 @@ case class Greatest(children: Seq[Expression]) extends 
Expression {
     })
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val evalChildren = children.map(_.gen(ctx))
     val first = evalChildren(0)
     val rest = evalChildren.drop(1)
-    def updateEval(eval: GeneratedExpressionCode): String = {
+    def updateEval(eval: ExprCode): String = {
       s"""
         ${eval.code}
         if (!${eval.isNull} && (${ev.isNull} ||

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
index 17f1df0..1d0ea68 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
@@ -23,8 +23,8 @@ import java.util.{Calendar, TimeZone}
 import scala.util.Try
 
 import org.apache.spark.sql.catalyst.InternalRow
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
CodegenFallback,
-  GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
CodegenFallback,
+  ExprCode}
 import org.apache.spark.sql.catalyst.util.DateTimeUtils
 import org.apache.spark.sql.types._
 import org.apache.spark.unsafe.types.{CalendarInterval, UTF8String}
@@ -84,7 +84,7 @@ case class DateAdd(startDate: Expression, days: Expression)
     start.asInstanceOf[Int] + d.asInstanceOf[Int]
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (sd, d) => {
       s"""${ev.value} = $sd + $d;"""
     })
@@ -109,7 +109,7 @@ case class DateSub(startDate: Expression, days: Expression)
     start.asInstanceOf[Int] - d.asInstanceOf[Int]
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (sd, d) => {
       s"""${ev.value} = $sd - $d;"""
     })
@@ -128,7 +128,7 @@ case class Hour(child: Expression) extends UnaryExpression 
with ImplicitCastInpu
     DateTimeUtils.getHours(timestamp.asInstanceOf[Long])
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getHours($c)")
   }
@@ -144,7 +144,7 @@ case class Minute(child: Expression) extends 
UnaryExpression with ImplicitCastIn
     DateTimeUtils.getMinutes(timestamp.asInstanceOf[Long])
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getMinutes($c)")
   }
@@ -160,7 +160,7 @@ case class Second(child: Expression) extends 
UnaryExpression with ImplicitCastIn
     DateTimeUtils.getSeconds(timestamp.asInstanceOf[Long])
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getSeconds($c)")
   }
@@ -176,7 +176,7 @@ case class DayOfYear(child: Expression) extends 
UnaryExpression with ImplicitCas
     DateTimeUtils.getDayInYear(date.asInstanceOf[Int])
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getDayInYear($c)")
   }
@@ -193,7 +193,7 @@ case class Year(child: Expression) extends UnaryExpression 
with ImplicitCastInpu
     DateTimeUtils.getYear(date.asInstanceOf[Int])
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getYear($c)")
   }
@@ -209,7 +209,7 @@ case class Quarter(child: Expression) extends 
UnaryExpression with ImplicitCastI
     DateTimeUtils.getQuarter(date.asInstanceOf[Int])
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getQuarter($c)")
   }
@@ -225,7 +225,7 @@ case class Month(child: Expression) extends UnaryExpression 
with ImplicitCastInp
     DateTimeUtils.getMonth(date.asInstanceOf[Int])
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getMonth($c)")
   }
@@ -241,7 +241,7 @@ case class DayOfMonth(child: Expression) extends 
UnaryExpression with ImplicitCa
     DateTimeUtils.getDayOfMonth(date.asInstanceOf[Int])
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, c => s"$dtu.getDayOfMonth($c)")
   }
@@ -265,7 +265,7 @@ case class WeekOfYear(child: Expression) extends 
UnaryExpression with ImplicitCa
     c.get(Calendar.WEEK_OF_YEAR)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, time => {
       val cal = classOf[Calendar].getName
       val c = ctx.freshName("cal")
@@ -295,7 +295,7 @@ case class DateFormatClass(left: Expression, right: 
Expression) extends BinaryEx
     UTF8String.fromString(sdf.format(new 
java.util.Date(timestamp.asInstanceOf[Long] / 1000)))
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val sdf = classOf[SimpleDateFormat].getName
     defineCodeGen(ctx, ev, (timestamp, format) => {
       s"""UTF8String.fromString((new $sdf($format.toString()))
@@ -386,7 +386,7 @@ abstract class UnixTime extends BinaryExpression with 
ExpectsInputTypes {
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     left.dataType match {
       case StringType if right.foldable =>
         val sdf = classOf[SimpleDateFormat].getName
@@ -503,7 +503,7 @@ case class FromUnixTime(sec: Expression, format: Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val sdf = classOf[SimpleDateFormat].getName
     if (format.foldable) {
       if (constFormat == null) {
@@ -555,7 +555,7 @@ case class LastDay(startDate: Expression) extends 
UnaryExpression with ImplicitC
     DateTimeUtils.getLastDayOfMonth(date.asInstanceOf[Int])
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, sd => s"$dtu.getLastDayOfMonth($sd)")
   }
@@ -591,7 +591,7 @@ case class NextDay(startDate: Expression, dayOfWeek: 
Expression)
     }
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (sd, dowS) => {
       val dateTimeUtilClass = DateTimeUtils.getClass.getName.stripSuffix("$")
       val dayOfWeekTerm = ctx.freshName("dayOfWeek")
@@ -643,7 +643,7 @@ case class TimeAdd(start: Expression, interval: Expression)
       start.asInstanceOf[Long], itvl.months, itvl.microseconds)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, (sd, i) => {
       s"""$dtu.timestampAddInterval($sd, $i.months, $i.microseconds)"""
@@ -666,7 +666,7 @@ case class FromUTCTimestamp(left: Expression, right: 
Expression)
       timezone.asInstanceOf[UTF8String].toString)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     if (right.foldable) {
       val tz = right.eval()
@@ -718,7 +718,7 @@ case class TimeSub(start: Expression, interval: Expression)
       start.asInstanceOf[Long], 0 - itvl.months, 0 - itvl.microseconds)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, (sd, i) => {
       s"""$dtu.timestampAddInterval($sd, 0 - $i.months, 0 - $i.microseconds)"""
@@ -743,7 +743,7 @@ case class AddMonths(startDate: Expression, numMonths: 
Expression)
     DateTimeUtils.dateAddMonths(start.asInstanceOf[Int], 
months.asInstanceOf[Int])
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, (sd, m) => {
       s"""$dtu.dateAddMonths($sd, $m)"""
@@ -770,7 +770,7 @@ case class MonthsBetween(date1: Expression, date2: 
Expression)
     DateTimeUtils.monthsBetween(t1.asInstanceOf[Long], t2.asInstanceOf[Long])
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     defineCodeGen(ctx, ev, (l, r) => {
       s"""$dtu.monthsBetween($l, $r)"""
@@ -795,7 +795,7 @@ case class ToUTCTimestamp(left: Expression, right: 
Expression)
       timezone.asInstanceOf[UTF8String].toString)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
     if (right.foldable) {
       val tz = right.eval()
@@ -840,7 +840,7 @@ case class ToDate(child: Expression) extends 
UnaryExpression with ImplicitCastIn
 
   override def eval(input: InternalRow): Any = child.eval(input)
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, d => d)
   }
 
@@ -882,7 +882,7 @@ case class TruncDate(date: Expression, format: Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val dtu = DateTimeUtils.getClass.getName.stripSuffix("$")
 
     if (format.foldable) {
@@ -933,7 +933,7 @@ case class DateDiff(endDate: Expression, startDate: 
Expression)
     end.asInstanceOf[Int] - start.asInstanceOf[Int]
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (end, start) => s"$end - $start")
   }
 }

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalExpressions.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalExpressions.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalExpressions.scala
index 5f8b544..74e86f4 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalExpressions.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalExpressions.scala
@@ -18,7 +18,7 @@
 package org.apache.spark.sql.catalyst.expressions
 
 import org.apache.spark.sql.catalyst.InternalRow
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.types._
 
 /**
@@ -34,7 +34,7 @@ case class UnscaledValue(child: Expression) extends 
UnaryExpression {
   protected override def nullSafeEval(input: Any): Any =
     input.asInstanceOf[Decimal].toUnscaledLong
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, c => s"$c.toUnscaledLong()")
   }
 }
@@ -53,7 +53,7 @@ case class MakeDecimal(child: Expression, precision: Int, 
scale: Int) extends Un
   protected override def nullSafeEval(input: Any): Any =
     Decimal(input.asInstanceOf[Long], precision, scale)
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, eval => {
       s"""
         ${ev.value} = (new Decimal()).setOrNull($eval, $precision, $scale);
@@ -70,8 +70,8 @@ case class MakeDecimal(child: Expression, precision: Int, 
scale: Int) extends Un
 case class PromotePrecision(child: Expression) extends UnaryExpression {
   override def dataType: DataType = child.dataType
   override def eval(input: InternalRow): Any = child.eval(input)
-  override def gen(ctx: CodeGenContext): GeneratedExpressionCode = 
child.gen(ctx)
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = ""
+  override def gen(ctx: CodegenContext): ExprCode = child.gen(ctx)
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = 
""
   override def prettyName: String = "promote_precision"
   override def sql: String = child.sql
 }
@@ -93,7 +93,7 @@ case class CheckOverflow(child: Expression, dataType: 
DecimalType) extends Unary
     }
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, eval => {
       val tmp = ctx.freshName("tmp")
       s"""

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala
index e0b0203..db30845 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala
@@ -171,7 +171,7 @@ case class Literal protected (value: Any, dataType: 
DataType)
 
   override def eval(input: InternalRow): Any = value
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     // change the isNull and primitive to consts, to inline them
     if (value == null) {
       ev.isNull = "true"

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/mathExpressions.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/mathExpressions.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/mathExpressions.scala
index 66d8631..8b9a60f 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/mathExpressions.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/mathExpressions.scala
@@ -67,7 +67,7 @@ abstract class UnaryMathExpression(val f: Double => Double, 
name: String)
   // name of function in java.lang.Math
   def funcName: String = name.toLowerCase
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, c => s"java.lang.Math.${funcName}($c)")
   }
 
@@ -87,7 +87,7 @@ abstract class UnaryLogExpression(f: Double => Double, name: 
String)
     if (d <= yAsymptote) null else f(d)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, c =>
       s"""
         if ($c <= $yAsymptote) {
@@ -119,7 +119,7 @@ abstract class BinaryMathExpression(f: (Double, Double) => 
Double, name: String)
     f(input1.asInstanceOf[Double], input2.asInstanceOf[Double])
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (c1, c2) => 
s"java.lang.Math.${name.toLowerCase}($c1, $c2)")
   }
 }
@@ -172,7 +172,7 @@ case class Ceil(child: Expression) extends 
UnaryMathExpression(math.ceil, "CEIL"
     case DecimalType.Fixed(precision, scale) => 
input.asInstanceOf[Decimal].ceil
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     child.dataType match {
       case DecimalType.Fixed(_, 0) => defineCodeGen(ctx, ev, c => s"$c")
       case DecimalType.Fixed(precision, scale) =>
@@ -207,7 +207,7 @@ case class Conv(numExpr: Expression, fromBaseExpr: 
Expression, toBaseExpr: Expre
       toBase.asInstanceOf[Int])
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val numconv = NumberConverter.getClass.getName.stripSuffix("$")
     nullSafeCodeGen(ctx, ev, (num, from, to) =>
       s"""
@@ -240,7 +240,7 @@ case class Floor(child: Expression) extends 
UnaryMathExpression(math.floor, "FLO
     case DecimalType.Fixed(precision, scale) => 
input.asInstanceOf[Decimal].floor
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     child.dataType match {
       case DecimalType.Fixed(_, 0) => defineCodeGen(ctx, ev, c => s"$c")
       case DecimalType.Fixed(precision, scale) =>
@@ -299,7 +299,7 @@ case class Factorial(child: Expression) extends 
UnaryExpression with ImplicitCas
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, eval => {
       s"""
         if ($eval > 20 || $eval < 0) {
@@ -317,7 +317,7 @@ case class Log(child: Expression) extends 
UnaryLogExpression(math.log, "LOG")
 
 case class Log2(child: Expression)
   extends UnaryLogExpression((x: Double) => math.log(x) / math.log(2), "LOG2") 
{
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, c =>
       s"""
         if ($c <= $yAsymptote) {
@@ -369,7 +369,7 @@ case class Bin(child: Expression)
   protected override def nullSafeEval(input: Any): Any =
     UTF8String.fromString(jl.Long.toBinaryString(input.asInstanceOf[Long]))
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (c) =>
       s"UTF8String.fromString(java.lang.Long.toBinaryString($c))")
   }
@@ -464,7 +464,7 @@ case class Hex(child: Expression) extends UnaryExpression 
with ImplicitCastInput
     case StringType => Hex.hex(num.asInstanceOf[UTF8String].getBytes)
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (c) => {
       val hex = Hex.getClass.getName.stripSuffix("$")
       s"${ev.value} = " + (child.dataType match {
@@ -489,7 +489,7 @@ case class Unhex(child: Expression) extends UnaryExpression 
with ImplicitCastInp
   protected override def nullSafeEval(num: Any): Any =
     Hex.unhex(num.asInstanceOf[UTF8String].getBytes)
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     nullSafeCodeGen(ctx, ev, (c) => {
       val hex = Hex.getClass.getName.stripSuffix("$")
       s"""
@@ -516,14 +516,14 @@ case class Atan2(left: Expression, right: Expression)
     math.atan2(input1.asInstanceOf[Double] + 0.0, input2.asInstanceOf[Double] 
+ 0.0)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (c1, c2) => s"java.lang.Math.atan2($c1 + 0.0, $c2 + 
0.0)")
   }
 }
 
 case class Pow(left: Expression, right: Expression)
   extends BinaryMathExpression(math.pow, "POWER") {
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (c1, c2) => s"java.lang.Math.pow($c1, $c2)")
   }
 }
@@ -549,7 +549,7 @@ case class ShiftLeft(left: Expression, right: Expression)
     }
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (left, right) => s"$left << $right")
   }
 }
@@ -575,7 +575,7 @@ case class ShiftRight(left: Expression, right: Expression)
     }
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (left, right) => s"$left >> $right")
   }
 }
@@ -601,7 +601,7 @@ case class ShiftRightUnsigned(left: Expression, right: 
Expression)
     }
   }
 
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = {
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, (left, right) => s"$left >>> $right")
   }
 }
@@ -635,7 +635,7 @@ case class Logarithm(left: Expression, right: Expression)
     if (dLeft <= 0.0 || dRight <= 0.0) null else math.log(dRight) / 
math.log(dLeft)
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     if (left.isInstanceOf[EulerNumber]) {
       nullSafeCodeGen(ctx, ev, (c1, c2) =>
         s"""
@@ -758,7 +758,7 @@ case class Round(child: Expression, scale: Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val ce = child.gen(ctx)
 
     val evaluationCode = child.dataType match {

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/misc.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/misc.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/misc.scala
index 4751fbe..2c12de0 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/misc.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/misc.scala
@@ -47,7 +47,7 @@ case class Md5(child: Expression) extends UnaryExpression 
with ImplicitCastInput
   protected override def nullSafeEval(input: Any): Any =
     UTF8String.fromString(DigestUtils.md5Hex(input.asInstanceOf[Array[Byte]]))
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, c =>
       
s"UTF8String.fromString(org.apache.commons.codec.digest.DigestUtils.md5Hex($c))")
   }
@@ -100,7 +100,7 @@ case class Sha2(left: Expression, right: Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val digestUtils = "org.apache.commons.codec.digest.DigestUtils"
     nullSafeCodeGen(ctx, ev, (eval1, eval2) => {
       s"""
@@ -145,7 +145,7 @@ case class Sha1(child: Expression) extends UnaryExpression 
with ImplicitCastInpu
   protected override def nullSafeEval(input: Any): Any =
     UTF8String.fromString(DigestUtils.shaHex(input.asInstanceOf[Array[Byte]]))
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     defineCodeGen(ctx, ev, c =>
       
s"UTF8String.fromString(org.apache.commons.codec.digest.DigestUtils.shaHex($c))"
     )
@@ -171,7 +171,7 @@ case class Crc32(child: Expression) extends UnaryExpression 
with ImplicitCastInp
     checksum.getValue
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val CRC32 = "java.util.zip.CRC32"
     nullSafeCodeGen(ctx, ev, value => {
       s"""
@@ -323,7 +323,7 @@ case class Murmur3Hash(children: Seq[Expression], seed: 
Int) extends Expression
   }
 
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     ev.isNull = "false"
     val childrenHash = children.zipWithIndex.map {
       case (child, dt) =>
@@ -347,12 +347,12 @@ case class Murmur3Hash(children: Seq[Expression], seed: 
Int) extends Expression
       input: String,
       dataType: DataType,
       seed: String,
-      ctx: CodeGenContext): GeneratedExpressionCode = {
+      ctx: CodegenContext): ExprCode = {
     val hasher = classOf[Murmur3_x86_32].getName
-    def hashInt(i: String): GeneratedExpressionCode = 
inlineValue(s"$hasher.hashInt($i, $seed)")
-    def hashLong(l: String): GeneratedExpressionCode = 
inlineValue(s"$hasher.hashLong($l, $seed)")
-    def inlineValue(v: String): GeneratedExpressionCode =
-      GeneratedExpressionCode(code = "", isNull = "false", value = v)
+    def hashInt(i: String): ExprCode = inlineValue(s"$hasher.hashInt($i, 
$seed)")
+    def hashLong(l: String): ExprCode = inlineValue(s"$hasher.hashLong($l, 
$seed)")
+    def inlineValue(v: String): ExprCode =
+      ExprCode(code = "", isNull = "false", value = v)
 
     dataType match {
       case NullType => inlineValue(seed)
@@ -369,7 +369,7 @@ case class Murmur3Hash(children: Seq[Expression], seed: 
Int) extends Expression
           val code = s"byte[] $bytes = 
$input.toJavaBigDecimal().unscaledValue().toByteArray();"
           val offset = "Platform.BYTE_ARRAY_OFFSET"
           val result = s"$hasher.hashUnsafeBytes($bytes, $offset, 
$bytes.length, $seed)"
-          GeneratedExpressionCode(code, "false", result)
+          ExprCode(code, "false", result)
         }
       case CalendarIntervalType =>
         val microsecondsHash = s"$hasher.hashLong($input.microseconds, $seed)"
@@ -400,7 +400,7 @@ case class Murmur3Hash(children: Seq[Expression], seed: 
Int) extends Expression
               }
             }
           """
-        GeneratedExpressionCode(code, "false", result)
+        ExprCode(code, "false", result)
 
       case MapType(kt, vt, _) =>
         val result = ctx.freshName("result")
@@ -427,7 +427,7 @@ case class Murmur3Hash(children: Seq[Expression], seed: 
Int) extends Expression
               }
             }
           """
-        GeneratedExpressionCode(code, "false", result)
+        ExprCode(code, "false", result)
 
       case StructType(fields) =>
         val result = ctx.freshName("result")
@@ -448,7 +448,7 @@ case class Murmur3Hash(children: Seq[Expression], seed: 
Int) extends Expression
             int $result = $seed;
             $fieldsHash
           """
-        GeneratedExpressionCode(code, "false", result)
+        ExprCode(code, "false", result)
 
       case udt: UserDefinedType[_] => computeHash(input, udt.sqlType, seed, 
ctx)
     }

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/namedExpressions.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/namedExpressions.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/namedExpressions.scala
index b6d7a7f..7983501 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/namedExpressions.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/namedExpressions.scala
@@ -133,8 +133,8 @@ case class Alias(child: Expression, name: String)(
   override def eval(input: InternalRow): Any = child.eval(input)
 
   /** Just a simple passthrough for code generation. */
-  override def gen(ctx: CodeGenContext): GeneratedExpressionCode = 
child.gen(ctx)
-  override protected def genCode(ctx: CodeGenContext, ev: 
GeneratedExpressionCode): String = ""
+  override def gen(ctx: CodegenContext): ExprCode = child.gen(ctx)
+  override protected def genCode(ctx: CodegenContext, ev: ExprCode): String = 
""
 
   override def dataType: DataType = child.dataType
   override def nullable: Boolean = child.nullable

http://git-wip-us.apache.org/repos/asf/spark/blob/c5e7076d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/nullExpressions.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/nullExpressions.scala
 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/nullExpressions.scala
index 89aec2b..667d351 100644
--- 
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/nullExpressions.scala
+++ 
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/nullExpressions.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.expressions
 
 import org.apache.spark.sql.catalyst.InternalRow
 import org.apache.spark.sql.catalyst.analysis.TypeCheckResult
-import org.apache.spark.sql.catalyst.expressions.codegen.{CodeGenContext, 
GeneratedExpressionCode}
+import org.apache.spark.sql.catalyst.expressions.codegen.{CodegenContext, 
ExprCode}
 import org.apache.spark.sql.catalyst.util.TypeUtils
 import org.apache.spark.sql.types._
 
@@ -61,7 +61,7 @@ case class Coalesce(children: Seq[Expression]) extends 
Expression {
     result
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val first = children(0)
     val rest = children.drop(1)
     val firstEval = first.gen(ctx)
@@ -110,7 +110,7 @@ case class IsNaN(child: Expression) extends UnaryExpression
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval = child.gen(ctx)
     child.dataType match {
       case DoubleType | FloatType =>
@@ -150,7 +150,7 @@ case class NaNvl(left: Expression, right: Expression)
     }
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val leftGen = left.gen(ctx)
     val rightGen = right.gen(ctx)
     left.dataType match {
@@ -189,7 +189,7 @@ case class IsNull(child: Expression) extends 
UnaryExpression with Predicate {
     child.eval(input) == null
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval = child.gen(ctx)
     ev.isNull = "false"
     ev.value = eval.isNull
@@ -210,7 +210,7 @@ case class IsNotNull(child: Expression) extends 
UnaryExpression with Predicate {
     child.eval(input) != null
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val eval = child.gen(ctx)
     ev.isNull = "false"
     ev.value = s"(!(${eval.isNull}))"
@@ -250,7 +250,7 @@ case class AtLeastNNonNulls(n: Int, children: 
Seq[Expression]) extends Predicate
     numNonNulls >= n
   }
 
-  override def genCode(ctx: CodeGenContext, ev: GeneratedExpressionCode): 
String = {
+  override def genCode(ctx: CodegenContext, ev: ExprCode): String = {
     val nonnull = ctx.freshName("nonnull")
     val code = children.map { e =>
       val eval = e.gen(ctx)


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

Reply via email to