@@ -32,54 +32,7 @@ void ConstraintLocator::Profile(llvm::FoldingSetNodeID &id, ASTNode anchor,
32
32
id.AddInteger (path.size ());
33
33
for (auto elt : path) {
34
34
id.AddInteger (elt.getKind ());
35
- switch (elt.getKind ()) {
36
- case GenericParameter:
37
- id.AddPointer (elt.castTo <LocatorPathElt::GenericParameter>().getType ());
38
- break ;
39
-
40
- case ProtocolRequirement: {
41
- auto reqElt = elt.castTo <LocatorPathElt::ProtocolRequirement>();
42
- id.AddPointer (reqElt.getDecl ());
43
- break ;
44
- }
45
-
46
- case Witness:
47
- id.AddPointer (elt.castTo <LocatorPathElt::Witness>().getDecl ());
48
- break ;
49
-
50
- case KeyPathDynamicMember: {
51
- auto kpElt = elt.castTo <LocatorPathElt::KeyPathDynamicMember>();
52
- id.AddPointer (kpElt.getKeyPathDecl ());
53
- break ;
54
- }
55
-
56
- case PatternMatch:
57
- id.AddPointer (elt.castTo <LocatorPathElt::PatternMatch>().getPattern ());
58
- break ;
59
-
60
- case ArgumentAttribute:
61
- case GenericArgument:
62
- case NamedTupleElement:
63
- case TupleElement:
64
- case ApplyArgToParam:
65
- case OpenedGeneric:
66
- case KeyPathComponent:
67
- case ConditionalRequirement:
68
- case TypeParameterRequirement:
69
- case ContextualType:
70
- case SynthesizedArgument:
71
- case TernaryBranch:
72
- case ClosureBody: {
73
- auto numValues = numNumericValuesInPathElement (elt.getKind ());
74
- for (unsigned i = 0 ; i < numValues; ++i)
75
- id.AddInteger (elt.getValue (i));
76
- break ;
77
- }
78
- #define SIMPLE_LOCATOR_PATH_ELT (Name ) case Name :
79
- #include " ConstraintLocatorPathElts.def"
80
- // Nothing to do for simple locator elements.
81
- break ;
82
- }
35
+ id.AddInteger (elt.getRawStorage ());
83
36
}
84
37
}
85
38
0 commit comments