Почему JML не реализован как аннотации в Java?
В отличие от кодовых контрактов в C#, в JML кодовые контракты - это просто текст, который используется в виде комментариев в заголовке метода. Разве не было бы лучше, чтобы они выставлялись как аннотации? Таким образом, даже при компиляции информации будет сохраняться метаданные.class, в отличие от комментариев, которые удаляются.
Я что-то пропустил?
2 ответа
Решение
Из того, что я вижу, JML предшествует аннотациям Java на большое количество лет. Конечно, они могли бы обновить его, чтобы предположительно использовать аннотации.
Существует экспериментальная реализация JML с использованием аннотаций Java:
http://sourceforge.net/apps/trac/jmlspecs/wiki/JML6
Надеемся, что он будет выпущен в той или иной форме в OpenJML в этом году (2010).