Die ScalaSignature ist eine Annotation. Es enthält Metainformationen.Sollten wir die ScalaSignature direkt benutzen?
Und dann wird Parser zur Verfügung gestellt. aber scala-library.jar
enthält nicht den Parser. Es scheint wie geheime API.
Aber ich kenne ein paar Bibliotheken ScalaSignature verwenden.
- https://github.com/lift/framework/blob/2.4-release/core/json/src/main/scala/net/liftweb/json/ScalaSig.scala
- https://github.com/msgpack/msgpack-scala/blob/version-0.6.6/src/main/scala/org/msgpack/scalautil/ScalaSigUtil.scala
- https://github.com/havocp/beaucatcher/blob/v0.5.0/caseclass/src/main/scala/org/beaucatcher/caseclass/ClassAnalysis.scala
By the way, ich konnte nicht formale Spezifikation von ScalaSignature gefunden. Ich mache mir Sorgen, dass sich die Spezifikation von ScalaSignature durch eine Scala-Versionsänderung ändern kann. Auch ich denke, es gibt einige andere Risiken mit ScalaSignature, weil die Spezifikation nicht existiert.
Ferner Scala2.10 wird ein neues Reflection-API zur Verfügung stellen. Ich denke, der Grund für die Verwendung von ScalaSignature wird abnehmen, wenn 2.10 veröffentlicht wird.
Also, sollte man die ScalaSignature verwenden?
Es bedeutet, dass wir nicht ScalaSignature und SignatureParser direkt verwendet werden soll? –
Soweit ich weiß, wird dies in 2.10+ nicht nötig sein –