@@ -94,6 +94,54 @@ void ConstraintLocator::Profile(llvm::FoldingSetNodeID &id, Expr *anchor,
94
94
}
95
95
}
96
96
97
+ unsigned LocatorPathElt::getNewSummaryFlags () const {
98
+ switch (getKind ()) {
99
+ case ConstraintLocator::ApplyArgument:
100
+ case ConstraintLocator::ApplyFunction:
101
+ case ConstraintLocator::ApplyArgToParam:
102
+ case ConstraintLocator::SequenceElementType:
103
+ case ConstraintLocator::ClosureResult:
104
+ case ConstraintLocator::ConstructorMember:
105
+ case ConstraintLocator::InstanceType:
106
+ case ConstraintLocator::AutoclosureResult:
107
+ case ConstraintLocator::OptionalPayload:
108
+ case ConstraintLocator::Member:
109
+ case ConstraintLocator::MemberRefBase:
110
+ case ConstraintLocator::UnresolvedMember:
111
+ case ConstraintLocator::ParentType:
112
+ case ConstraintLocator::ExistentialSuperclassType:
113
+ case ConstraintLocator::LValueConversion:
114
+ case ConstraintLocator::RValueAdjustment:
115
+ case ConstraintLocator::SubscriptMember:
116
+ case ConstraintLocator::OpenedGeneric:
117
+ case ConstraintLocator::GenericParameter:
118
+ case ConstraintLocator::GenericArgument:
119
+ case ConstraintLocator::NamedTupleElement:
120
+ case ConstraintLocator::TupleElement:
121
+ case ConstraintLocator::ProtocolRequirement:
122
+ case ConstraintLocator::Witness:
123
+ case ConstraintLocator::KeyPathComponent:
124
+ case ConstraintLocator::ConditionalRequirement:
125
+ case ConstraintLocator::TypeParameterRequirement:
126
+ case ConstraintLocator::ImplicitlyUnwrappedDisjunctionChoice:
127
+ case ConstraintLocator::DynamicLookupResult:
128
+ case ConstraintLocator::ContextualType:
129
+ case ConstraintLocator::SynthesizedArgument:
130
+ case ConstraintLocator::KeyPathDynamicMember:
131
+ case ConstraintLocator::KeyPathType:
132
+ case ConstraintLocator::KeyPathRoot:
133
+ case ConstraintLocator::KeyPathValue:
134
+ case ConstraintLocator::KeyPathComponentResult:
135
+ return 0 ;
136
+
137
+ case ConstraintLocator::FunctionArgument:
138
+ case ConstraintLocator::FunctionResult:
139
+ return IsFunctionConversion;
140
+ }
141
+
142
+ llvm_unreachable (" Unhandled PathElementKind in switch." );
143
+ }
144
+
97
145
bool LocatorPathElt::isResultOfSingleExprFunction () const {
98
146
if (auto elt = getAs<ContextualType>())
99
147
return elt->isForSingleExprFunction ();
0 commit comments