Duplicate
Details
Assignee
UnassignedUnassignedReporter
Nick WilliamsNick WilliamsLabels
Bug Testcase Reminder (view)
Bug reports should generally be accompanied by a test case!
Bug Testcase Reminder (edit)
Bug reports should generally be accompanied by a test case!
Participants
Gunnar MorlingNick WilliamsOriginal estimate
Time tracking
No time logged8h remainingComponents
Affects versions
Priority
Major
Details
Details
Assignee
Unassigned
UnassignedReporter
Nick Williams
Nick WilliamsLabels
Bug Testcase Reminder (view)
Bug reports should generally be accompanied by a test case!
Bug Testcase Reminder (edit)
Bug reports should generally be accompanied by a test case!
Participants
Gunnar Morling
Nick Williams
Original estimate
Time tracking
No time logged8h remaining
Components
Affects versions
Priority
Created June 9, 2013 at 7:48 PM
Updated December 3, 2024 at 9:28 AM
Resolved December 8, 2016 at 11:14 AM
Per the spec, methods specified in a superclass or interface should only be annotated where they are originally defined (the contract). If an implementation or extending class contains constraint annotations on these methods, it should result in an exception (because it alters the contract understood by the consumer of the interface).
This is all well and good, except that the annotation processor does not catch these types of programming errors, so if you mistakenly annotate an overridden or implemented method you won't notice until runtime. The annotation processor should flag constraints on methods that override or implement superclass or interface methods so that this problem can be caught during compilation.