Find class names that shadow an interface or superclass

Proprietary

Marks a top-level or local class, interface, enum, or record whose simple name is the same as that of a type it directly extends or implements, as in class File extends java.io.File. A reader who sees only the simple name cannot tell which type is meant. Member types such as static class Builder extends Parent.Builder, test sources and unresolved supertypes are not marked.

io.moderne.staticanalysis.FindClassShadowingSupertypeName
mod run . --recipe=io.moderne.staticanalysis.FindClassShadowingSupertypeName

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.