2016-07-28 3 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, объяснен на a post в списке рассылки scala-language:

Это определенно нетривиальная. Аннотации Java имеют конкретное представление в байт-коде [...], , которое потребует изменений в генераторе байт-кода Scala.

Также язык ява аннотаций совершенно особый, отличный от остальной части языка Java [...], так что можно было бы необходимо определить , как это может быть представлено в классе Scala.

+0

Ничего себе, я не знаю его, что комплекс, но я предполагаю, что все специалисты scala знают некоторые Java и размышления, поэтому это не будет большой проблемой. – tribbloid

Смежные вопросы