Confusing `exclude-interfaces` behaviour
TjlHope opened this issue · 4 comments
I was expecting that adding "excludes-interfaces" would prevent lint errors if I was missing an @override
marker, but not produce any errors if I did choose to correctly add an @override
marker.
I've since realised that @override
markers for implementing an interface are less useful, as you'll get a compile error if you typo a method name, etc. (as you won't now correctly implement the interface). A place where it is still useful is abstract classes, but that's a bit more of a corner-case.
But either way it might at least be worth clarifying in the docs so people know what to expect?
You mean if you use the override keyword for an interface, and set "exclude-interfaces", then the plugin throws an error?
This is most likely a bug. I think it should instead ignore extraneous @ override keywords that override interfaces.
I created #13 . Let me know if that is what you were talking about. Feel free to work on a fix or otherwise I'll get to it when I have a minute.
Yep, that's it exactly, thanks.
I won't have a chance for a week or so, but I'll definitely have a go after that (if you don't get there first). Be a good introduction before having a go at #11!
Thanks!