viirya commented on a change in pull request #32413:
URL: https://github.com/apache/spark/pull/32413#discussion_r624589576



##########
File path: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala
##########
@@ -236,7 +236,32 @@ case class StaticInvoke(
   override def children: Seq[Expression] = arguments
 
   lazy val argClasses = ScalaReflection.expressionJavaClasses(arguments)
-  @transient lazy val method = cls.getDeclaredMethod(functionName, argClasses 
: _*)
+  @transient lazy val method = {
+    try {
+      cls.getDeclaredMethod(functionName, argClasses: _*)

Review comment:
       Took a rough look at how `java_method` resolves the calling method. 
`java_method` only calls Java static method, but `StaticInvoke` covers Scala 
object method too. `java_method`'s argument types seem only for catalyst 
primitive data types, so complext type and `ObjectType` is not supported.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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

Reply via email to