Repository navigation
Commit e4544f1
committed
prepare.cppm: promote P4's graph-loading half for a future graph_load/graph split
Preparation for splitting phase4_dependency_graph across two files
(graph_load.cpp, graph.cpp), matching the design's own grouping:
loadVersionDep -- the git/path/version dependency loader, ~500 lines,
recursive -- is defined once and called from the worklist engine that
follows it, so it and everything it closes over (the same escaping-
closure pattern as every other promoted member) must survive past its
own definition point once that split happens. Promoted: worklist,
identityBySource, declaringManifest, adoptionsReported,
gitCloneBySource, selectorMigrationWarnings, preinstallStack/Done,
and the closures cache_index_name, gitMemberDeclaring, qualifiedKey,
stateAdoptedIdentity, reportAdoption, index_route,findIndexForNs,
resolveSemver, readStrictLuaForCandidate, xpkgLuaMatchesCandidate,
dependencyCoordinates, selectDependencyCandidate, loadVersionDep
itself. Three more local struct types (WorkItem, DeclaringManifest,
GitClone) moved to file scope for the same reason as P4's first five.
index_route's default argument (cfg = nullptr) does not survive into
std::function; its three no-arg call sites now pass nullptr.
Still one phase4_dependency_graph function -- the actual file split
follows. Golden fixture diff against the baseline is empty; mcpp
test: 129/129.1 parent d8447f5 commit e4544f1
1 file changed
Lines changed: 150 additions & 124 deletions
0 commit comments