File tree Expand file tree Collapse file tree 3 files changed +15
-0
lines changed
lib/AST/RequirementMachine Expand file tree Collapse file tree 3 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -335,6 +335,10 @@ std::string RequirementMachine::getRuleAsStringForDiagnostics(
335
335
return out.str ();
336
336
}
337
337
338
+ ArrayRef<Rule> RequirementMachine::getLocalRules () const {
339
+ return System.getLocalRules ();
340
+ }
341
+
338
342
bool RequirementMachine::isComplete () const {
339
343
return Complete;
340
344
}
Original file line number Diff line number Diff line change @@ -158,6 +158,8 @@ class RequirementMachine final {
158
158
std::vector<Requirement>
159
159
computeMinimalGenericSignatureRequirements (bool reconstituteSugar);
160
160
161
+ ArrayRef<Rule> getLocalRules () const ;
162
+
161
163
std::string getRuleAsStringForDiagnostics (unsigned ruleID) const ;
162
164
163
165
GenericSignatureErrors getErrors () const ;
Original file line number Diff line number Diff line change @@ -144,10 +144,19 @@ class RewriteSystem final {
144
144
return (unsigned )(&rule - &*Rules.begin ());
145
145
}
146
146
147
+ // / Get an array of all rewrite rules.
147
148
ArrayRef<Rule> getRules () const {
148
149
return Rules;
149
150
}
150
151
152
+ // / Get an array of rewrite rules, not including rewrite rules imported
153
+ // / from referenced protocols.
154
+ ArrayRef<Rule> getLocalRules () const {
155
+ return getRules ().slice (FirstLocalRule);
156
+ }
157
+
158
+ // / Get the rewrite rule at the given index. Note that this is an index
159
+ // / into getRules(), *NOT* getLocalRules().
151
160
Rule &getRule (unsigned ruleID) {
152
161
return Rules[ruleID];
153
162
}
You can’t perform that action at this time.
0 commit comments