Any codes calling scala.reflect.api.Types.TypeApi.<:<
should be wrapped by this method to
clean up the Scala reflection garbage automatically.
Any codes calling scala.reflect.api.Types.TypeApi.<:<
should be wrapped by this method to
clean up the Scala reflection garbage automatically. Otherwise, it will leak some objects to
scala.reflect.runtime.JavaUniverse.undoLog
.
This method will also wrap func
with ScalaReflectionLock.synchronized
so the caller doesn't
need to call it again.
https://github.com/scala/bug/issues/8302
Returns the full class name for a type.
Returns the full class name for a type. The returned name is the canonical Scala name, where each component is separated by a period. It is NOT the Java-equivalent runtime name (no dollar signs).
In simple cases, both the Scala and Java names are the same, however when Scala generates constructs that do not map to a Java equivalent, such as singleton objects or nested classes in package objects, it uses the dollar sign ($) to create synthetic classes, emulating behaviour in Java bytecode.
Returns the parameter names and types for the primary constructor of this type.
Returns the parameter names and types for the primary constructor of this type.
Note that it only works for scala classes with primary constructor, and currently doesn't support inner class.
Returns classes of input parameters of scala function object.
Return the Scala Type for T
in the current classloader mirror.
Return the Scala Type for T
in the current classloader mirror.
Use this method instead of the convenience method universe.typeOf
, which
assumes that all types can be found in the classloader that loaded scala-reflect classes.
That's not necessarily the case when running using Eclipse launchers or even
Sbt console or test (without fork := true
).
SPARK-5281
Support for generating catalyst schemas for scala objects. Note that unlike its companion object, this trait able to work in both the runtime and the compile time (macro) universe.