ScalaSignatureは注釈です。メタ情報が含まれています。
そして、パーサーが提供されます。ただしscala-library.jar
、パーサーは含まれていません。秘密のAPIのようです。
しかし、私はScalaSignatureを使用しているいくつかのライブラリを知っています。
- 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
ちなみに、ScalaSignatureの正式な仕様は見つかりませんでした。ScalaSignatureの仕様は、Scalaのバージョン変更により変更される可能性があるのではないかと心配しています。また、仕様が存在しないため、ScalaSignatureを使用する他のリスクもあると思います。
さらに、Scala2.10は新しいリフレクションAPIを提供します。2.10がリリースされると、ScalaSignatureを使用する理由が減ると思います。
したがって、ScalaSignatureを使用する必要がありますか?