В отличие от кодовых контрактов в C #, в JML кодовые контракты - это просто текст, который используется в виде комментариев в заголовке метода. Разве не было бы лучше, чтобы они выставлялись как аннотации? Таким образом, даже при компиляции информации будет сохраняться метаданные .class, в отличие от комментариев, которые удаляются.
Я что-то упустил?