Skip to content

Commit e4544f1

Browse files
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

File tree

0 commit comments

Comments
 (0)