We're updating the issue view to help you get more done. 

Annotation processor does not flag constraints on methods that override or implement superclass or interface methods

Description

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.

Environment

None

Status

Assignee

Unassigned

Reporter

Nick Williams

Worked in

None

Feedback Requested

None

Feedback Requested By

None

backPortable

None

Community Help Wanted

None

Suitable for new contributors

Yes, likely

Requires Release Note

None

Pull Request

None

backportDecision

None

backportReEvaluate

None

Time tracking

8h

Components

Affects versions

5.0.1.Final

Priority

Major