The reverse index class -> owning package over candidates, at each one's latest version. S3 ownership (a
same-named constructor plus a registered method) is a stronger signal than an S4 exportClasses, so S3-owned
classes are indexed first and an S4 class only claims a name no S3 owner already took.
Restricting the candidates is the targeted counterpart of PackageSignatureSource.classOwner: class names
collide heavily across CRAN, so a whole-database answer is decided by database order, and deriving one means
reading every package in the database.
The reverse index
class -> owning packageovercandidates, at each one's latest version. S3 ownership (a same-named constructor plus a registered method) is a stronger signal than an S4exportClasses, so S3-owned classes are indexed first and an S4 class only claims a name no S3 owner already took.Restricting the candidates is the targeted counterpart of PackageSignatureSource.classOwner: class names collide heavily across CRAN, so a whole-database answer is decided by database order, and deriving one means reading every package in the database.