3636import org .apache .spark .sql .catalyst .expressions .Expression ;
3737import org .apache .spark .sql .catalyst .expressions .NonSQLExpression ;
3838import org .apache .spark .sql .catalyst .expressions .UnaryExpression ;
39- import org .apache .spark .sql .catalyst .expressions .codegen .Block ;
40- import org .apache .spark .sql .catalyst .expressions .codegen .CodeGenerator ;
4139import org .apache .spark .sql .catalyst .expressions .codegen .CodegenContext ;
4240import org .apache .spark .sql .catalyst .expressions .codegen .ExprCode ;
4341import org .apache .spark .sql .types .DataType ;
@@ -94,7 +92,7 @@ public Expression child() {
9492 public ExprCode doGenCode (CodegenContext ctx , ExprCode ev ) {
9593 String accessCode = ctx .addReferenceObj ("coder" , coder , coder .getClass ().getName ());
9694 ExprCode input = child .genCode (ctx );
97- String javaType = CodeGenerator .javaType (dataType ());
95+ String javaType = ctx .javaType (dataType ());
9896
9997 List <String > parts = new ArrayList <>();
10098 List <Object > args = new ArrayList <>();
@@ -117,10 +115,12 @@ public ExprCode doGenCode(CodegenContext ctx, ExprCode ev) {
117115
118116 StringContext sc =
119117 new StringContext (JavaConversions .collectionAsScalaIterable (parts ).toSeq ());
120- Block code =
121- (new Block .BlockHelper (sc )).code (JavaConversions .collectionAsScalaIterable (args ).toSeq ());
118+ // Block code =
119+ // (new
120+ // Block.BlockHelper(sc)).code(JavaConversions.collectionAsScalaIterable(args).toSeq());
121+ String code = sc .s (JavaConversions .collectionAsScalaIterable (args ).toSeq ());
122122
123- return ev .copy (input .code (). $plus ( code ) , input .isNull (), ev .value ());
123+ return ev .copy (input .code () + " \n " + code , input .isNull (), ev .value ());
124124 }
125125
126126 @ Override
@@ -203,7 +203,7 @@ public Expression child() {
203203 public ExprCode doGenCode (CodegenContext ctx , ExprCode ev ) {
204204 String accessCode = ctx .addReferenceObj ("coder" , coder , coder .getClass ().getName ());
205205 ExprCode input = child .genCode (ctx );
206- String javaType = CodeGenerator .javaType (dataType ());
206+ String javaType = ctx .javaType (dataType ());
207207
208208 List <String > parts = new ArrayList <>();
209209 List <Object > args = new ArrayList <>();
@@ -228,9 +228,11 @@ public ExprCode doGenCode(CodegenContext ctx, ExprCode ev) {
228228
229229 StringContext sc =
230230 new StringContext (JavaConversions .collectionAsScalaIterable (parts ).toSeq ());
231- Block code =
232- (new Block .BlockHelper (sc )).code (JavaConversions .collectionAsScalaIterable (args ).toSeq ());
233- return ev .copy (input .code ().$plus (code ), input .isNull (), ev .value ());
231+ // Block code =
232+ // (new
233+ // Block.BlockHelper(sc)).code(JavaConversions.collectionAsScalaIterable(args).toSeq());
234+ String code = sc .s (JavaConversions .collectionAsScalaIterable (args ).toSeq ());
235+ return ev .copy (input .code () + "\n " + code , input .isNull (), ev .value ());
234236 }
235237
236238 @ Override
0 commit comments