Remove type parameters from `ProjectDatabase`
kmeisthax opened this issue · comments
ProjectDatabase
, which is our in-memory representation of retrogram.db
, should not be specific to one architecture type. It should be architecture-agnostic, so that programs from multiple architectures can be analyzed in the same database.
Database<AR>
should be separated into an architecture-erased trait that includes Any
and a concrete database type. ProjectDatabase
will store boxed, type-erased databases and use Any
to type-check AR
for methods that need to interact with an architecture.