2016-07-28 9 views
2

私はscalatestドキュメントでのステートメントに遭遇していますScalaで書かれた注釈が実行時にアクセスできないのはなぜですか?

It must be defined in Java instead of Scala so it will be accessible at runtime. 

私はScalaの注釈は、そのJavaの対応物よりも強いという印象の下にあったように、これは非常に奇妙です。なぜこの機能が欠けているのですか?それを元に戻す計画はありますか?

+1

私は、Scalaは注釈http://stackoverflow.com/questions/8609218/why-scala-people-dont-like-annotation –

答えて

3

実行時にScalaサポートアノテーションを保持する計画はありません(この問題はしばらく知られていますが、this pageによれば修正されません)。

Lukas Rytz、Scalaのコミッター、scala-languageメーリングリストにa postに説明:

をそれは間違いなく、非自明です。 Javaの注釈は、 のバイトコード[...]、 で表され、Scalaのバイトコードジェネレータに変更が必要です。

また、Javaアノテーションの言語は、 とは異なり、残りのJava言語[...]と異なり、 をScalaクラスでどのように表現できるかを定義する必要があります。

+0

うわー、私はそのことの複合体を知らないの賛成であると思ういけませんしかし、私は、すべてのスカラ専門家がJavaと反射を知っているので、これは大きな問題ではないと考えています。 – tribbloid

関連する問題