Github user viirya commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21537#discussion_r196769133
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/javaCode.scala
 ---
    @@ -256,6 +283,22 @@ object EmptyBlock extends Block with Serializable {
       override def + (other: Block): Block = other
     }
     
    +/**
    + * A block inlines all types of input arguments into a string without
    + * tracking any reference of `JavaCode` instances.
    + */
    +case class InlineBlock(block: String) extends Block {
    +  override val code: String = block
    +  override val exprValues: Set[ExprValue] = Set.empty
    +
    +  override def + (other: Block): Block = other match {
    +    case c: CodeBlock => Blocks(Seq(this, c))
    +    case i: InlineBlock => InlineBlock(block + i.block)
    --- End diff --
    
    I think we won't have too many cases of concatenating `InlineBlock`. You 
can see `InlineBlock` is mostly used to wrap a small piece of code like a java 
class name. I'm not sure if we need to add a newline here.


---

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

Reply via email to