2010-01-19 3 views
2
class Foo { 
    @SomeAnnotation 
    var bar: String = _ 
} 

@SomeAnnotation - аннотация Java (поэтому она хранится во время выполнения) с сохранением времени выполнения и целевым объектом Method. Код компилируется, но во время выполнения методы bar() и bar_ =(), которые генерируются компилятором, не аннотируются.scala: аннотирующие методы доступа

Предполагая, что это не ошибка, существует ли чистый способ аннотировать созданный метод получения без необходимости явно определять метод?

ответ

2

Да, вы должны использовать мета-аннотаций в scala.annotation.target. См. Документацию в https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/library/scala/annotation/target/getter.scala

+1

Обратите внимание, что это новая функция Scala 2.8. Я думаю, что из вашего описания вы можете использовать это уже, как в 2.7 * оба * поле и методы доступа были аннотированы. – retronym

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