Revert "Sema: Remove DependentComponentSplitterStep"

This reverts commit 9fb6d9251e.
This commit is contained in:
Slava Pestov
2025-02-01 23:55:15 -05:00
parent 8800c3b630
commit 8af183cca8
4 changed files with 183 additions and 6 deletions

View File

@@ -343,6 +343,12 @@ public:
/// The constraints in this component.
TinyPtrVector<Constraint *> constraints;
/// The set of components that this component depends on, such that
/// the partial solutions of the those components need to be available
/// before this component can be solved.
///
SmallVector<unsigned, 2> dependencies;
public:
Component(unsigned solutionIndex) : solutionIndex(solutionIndex) { }
@@ -358,6 +364,11 @@ public:
return constraints;
}
/// Records a component which this component depends on.
void recordDependency(const Component &component);
ArrayRef<unsigned> getDependencies() const { return dependencies; }
unsigned getNumDisjunctions() const { return numDisjunctions; }
};