diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala b/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala index 485e49f95e0ca0027e5341d6ac67a9aab6c4269b..7c3d40183248214df960121777c0eece658ca667 100644 --- a/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala +++ b/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala @@ -517,4 +517,13 @@ object GraphImpl { VertexSetRDD.aggregate(preAgg, g.vTable.index, reduceFunc) } + private def accessesVertexAttr[VD: ClassManifest, ED: ClassManifest]( + closure: AnyRef, attrName: String): Boolean = { + try { + BytecodeUtils.invokedMethod(closure, classOf[EdgeTriplet[VD, ED]], attrName) + } catch { + case _: ClassNotFoundException => true // if we don't know, be conservative + } + } + } // end of object GraphImpl