LSIF: Refactor xrepo class
Created by: efritz
This addresses a code smell that's been bugging me for a while.
The XrepoDatabase
was getting to provide too much functionality. This PR splits it into a DumpsManager
, which controls dumps and commit data, and a DependencyManager
, which controls the packages and references tables that join two dumps together via imports/export symbols.
All changes in this PR simply moves or renames code, except for lsif/src/worker/conversion/conversion.ts (line 86), which has a trivial change. The old class contained a method that would create a dump and populate the packages/references table in a transaction. The transaction has been moved to the caller, as each of these methods now exist in a different class.