openclover / clover

This repository contains source code of OpenClover Core as well as its integrations: Clover-for-Ant, Clover-for-Eclipse and Clover-for-IDEA plugins. Sources are licensed under Apache 2.0 license.
Other
61 stars 16 forks source link

Refactor and generify registry classes #242

Closed marek-parfianowicz closed 6 months ago

marek-parfianowicz commented 7 months ago

Currently we have registry interfaces, like ClassInfo and one-two variants of implementation, like BaseClassInfo and FullClassInfo. Method arguments and return values are mixed and either lack generic types or specify wrong wildcards. Classes are casted when fetched etc.

Separate two variants of classes (they shall not use inheritance but encapsulation) and create proper generic interfaces.