Why isn't JML implemented as Annotations in Java?
design-by-contract, java, jml
Solution
From what I can see JML predates Java annotations by a good number of years. They could, of course, update it to make use of annotations presumably.
Problem
Contrary to Code Contracts in C#, in JML Code Contracts are just text that's used in the form of comments in the header of a method. Wouldn't it be better to have them exposed as Annotations, then? That way even when compiling the information would persist on the .class's metadata, contrary to comments, that get erased. Am I missing something?