[NFC, Incremental] Refactoring to facilitate replacing the inputDependencySourceMap with the right thing #685
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Redo of reverted #664 ; reverted because I forgot to add a new file to CMakeLists.txt.
This PR paves the way for bug fixes by adding an intentions layer to the usage of a bidirectional map to go from input files (.swift) to and from dependency files (.swiftdeps).
BidirectionalMap
into its own type, and put that intoInputDependencySourceMap.swift
enum
to explain why entries are being added (AdditionPurpose
) and pass that through calls that add entriesaddMapEntry
in theModuleDependencyGraph
becomesaddEntry
on the new typesourceIfKnown(for:)
andinputIfKnown(for:)
to contrast the possibility of failure withsourceRequired(for:)
, which is the new name forgetSource(for:)
in the graph method.collectInputsInvalidatedBy(input:)
reduce
inpopulateInputDependencySourceMap
has been rewritten for clarity.In preparation for: rdar://77998890