How to write the function isCaseObject in scala?
scala
Solution
Using reflection (Scala 2.10M4), this can be done as follows:
import scala.reflect.runtime.universe.Flag
import scala.reflect.runtime.{ currentMirror => cm }
object Check {
def isCaseObject(x:Any): Boolean = {
cm.reflect(x).symbol.hasFlag(Flag.CASE)
}
}
Problem
How can i write a isCaseObject function in scala, so that this works: ``` def isCaseObject(x:Any) = /* Some Code */ case object aCaseObject println(isCaseObject(aCaseObject)) //true println(isCaseObject("not a case object")) //false ```