[GSB] Route modifications through EquivalenceClass.

Replace the overly-general bumpGeneration() with a "modified()"
operation on EquivalenceClass, indicating that the given
EquivalenceClass has been modified in some way. There are no
modifications in the system that do not directly affect an equivalence
class.
This commit is contained in:
Doug Gregor
2017-07-26 15:32:00 -07:00
parent d132f50c9d
commit ceab6ae10f
2 changed files with 23 additions and 20 deletions

View File

@@ -190,6 +190,9 @@ public:
/// potential archetype (which represents itself).
EquivalenceClass(PotentialArchetype *representative);
/// Note that this equivalence class has been modified.
void modified(GenericSignatureBuilder &builder);
/// Find a source of the same-type constraint that maps a potential
/// archetype in this equivalence class to a concrete type along with
/// that concrete type as written.
@@ -561,9 +564,6 @@ public:
void processDelayedRequirements();
private:
/// Bump the generation count due to a change.
void bumpGeneration();
/// Describes the relationship between a given constraint and
/// the canonical constraint of the equivalence class.
enum class ConstraintRelation {