mirror of
https://github.com/github/codeql.git
synced 2026-03-17 04:56:58 +01:00
24 lines
836 B
Plaintext
24 lines
836 B
Plaintext
/**
|
|
* @name Confusing non-overriding of package-private method
|
|
* @description A method that appears to override another method but does not, because the
|
|
* declaring classes are in different packages, is potentially confusing.
|
|
* @kind problem
|
|
* @problem.severity warning
|
|
* @precision medium
|
|
* @id java/non-overriding-package-private
|
|
* @tags maintainability
|
|
* readability
|
|
*/
|
|
|
|
import java
|
|
|
|
from Method superMethod, Method method
|
|
where
|
|
overridesIgnoringAccess(method, _, superMethod, _) and
|
|
not method.overrides(superMethod) and
|
|
not superMethod.isPublic() and
|
|
not superMethod.isProtected() and
|
|
not superMethod.isPrivate()
|
|
select method, "This method does not override $@ because it is private to another package.",
|
|
superMethod, superMethod.getDeclaringType().getName() + "." + superMethod.getName()
|