2012-08-16 3 views
9

ScalaSignature는 주석입니다. 메타 정보가 포함되어 있습니다.ScalaSignature를 직접 사용해야합니까?

그리고 파서가 제공된다. scala-library.jar에는 파서가 포함되어 있지 않습니다. 비밀 API처럼 보입니다.

https://github.com/scala/scala/blob/v2.9.2/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala

https://github.com/msgpack/msgpack-scala/blob/version-0.6.6/src/main/scala/org/msgpack/scalautil/ScalaSigUtil.scala

  • https://github.com/lift/framework/blob/2.4-release/core/json/src/main/scala/net/liftweb/json/ScalaSig.scala
    • 는, 나는 ScalaSignature의 공식 사양을 찾을 수 없습니다. Scala 버전 변경으로 인해 ScalaSignature의 사양이 변경 될 수 있습니다. 또한 사양이 존재하지 않기 때문에 ScalaSignature를 사용하는 다른 위험이 있다고 생각합니다.

      또한 Scala2.10은 새로운 리플렉션 API를 제공합니다. 2.10이 출시되면 ScalaSignature를 사용하는 이유가 줄어들 것이라고 생각합니다.

      따라서 ScalaSignature?

  • 답변

    7

    Scala 2.10의 Reflection API는 Java reflection + Scala 서명에 대해 공식적으로 지원되는 추상화를 제공합니다. ScalaSignature 형식이 변경되면 반영도 그에 따라 변경됩니다.

    +0

    즉, ScalaSignature 및 SignatureParser를 직접 사용하면 안됩니다. –

    +0

    내가 아는 한 최선을 다해 2.10+에서 그렇게 할 필요가 없습니다. –