[llvm] [ADT] Make argument order consistent in StringSwitch helpers. NFC. (PR #163592)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 15 09:44:47 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-adt
Author: Jakub Kuderski (kuhar)
<details>
<summary>Changes</summary>
Now that we do not need to deal with variadic templates in `CasesImpl`, align all helper functions to the same argument order as the public API.
---
Full diff: https://github.com/llvm/llvm-project/pull/163592.diff
1 Files Affected:
- (modified) llvm/include/llvm/ADT/StringSwitch.h (+25-25)
``````````diff
diff --git a/llvm/include/llvm/ADT/StringSwitch.h b/llvm/include/llvm/ADT/StringSwitch.h
index f7a220f111909..26d568298207e 100644
--- a/llvm/include/llvm/ADT/StringSwitch.h
+++ b/llvm/include/llvm/ADT/StringSwitch.h
@@ -66,7 +66,7 @@ class StringSwitch {
// Case-sensitive case matchers
StringSwitch &Case(StringLiteral S, T Value) {
- CaseImpl(Value, S);
+ CaseImpl(S, Value);
return *this;
}
@@ -86,47 +86,47 @@ class StringSwitch {
StringSwitch &Cases(std::initializer_list<StringLiteral> CaseStrings,
T Value) {
- return CasesImpl(Value, CaseStrings);
+ return CasesImpl(CaseStrings, Value);
}
StringSwitch &Cases(StringLiteral S0, StringLiteral S1, T Value) {
- return CasesImpl(Value, {S0, S1});
+ return CasesImpl({S0, S1}, Value);
}
StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
T Value) {
- return CasesImpl(Value, {S0, S1, S2});
+ return CasesImpl({S0, S1, S2}, Value);
}
StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
StringLiteral S3, T Value) {
- return CasesImpl(Value, {S0, S1, S2, S3});
+ return CasesImpl({S0, S1, S2, S3}, Value);
}
StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
StringLiteral S3, StringLiteral S4, T Value) {
- return CasesImpl(Value, {S0, S1, S2, S3, S4});
+ return CasesImpl({S0, S1, S2, S3, S4}, Value);
}
[[deprecated("Pass cases in std::initializer_list instead")]]
StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
StringLiteral S3, StringLiteral S4, StringLiteral S5,
T Value) {
- return CasesImpl(Value, {S0, S1, S2, S3, S4, S5});
+ return CasesImpl({S0, S1, S2, S3, S4, S5}, Value);
}
[[deprecated("Pass cases in std::initializer_list instead")]]
StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
StringLiteral S3, StringLiteral S4, StringLiteral S5,
StringLiteral S6, T Value) {
- return CasesImpl(Value, {S0, S1, S2, S3, S4, S5, S6});
+ return CasesImpl({S0, S1, S2, S3, S4, S5, S6}, Value);
}
[[deprecated("Pass cases in std::initializer_list instead")]]
StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
StringLiteral S3, StringLiteral S4, StringLiteral S5,
StringLiteral S6, StringLiteral S7, T Value) {
- return CasesImpl(Value, {S0, S1, S2, S3, S4, S5, S6, S7});
+ return CasesImpl({S0, S1, S2, S3, S4, S5, S6, S7}, Value);
}
[[deprecated("Pass cases in std::initializer_list instead")]]
@@ -134,7 +134,7 @@ class StringSwitch {
StringLiteral S3, StringLiteral S4, StringLiteral S5,
StringLiteral S6, StringLiteral S7, StringLiteral S8,
T Value) {
- return CasesImpl(Value, {S0, S1, S2, S3, S4, S5, S6, S7, S8});
+ return CasesImpl({S0, S1, S2, S3, S4, S5, S6, S7, S8}, Value);
}
[[deprecated("Pass cases in std::initializer_list instead")]]
@@ -142,12 +142,12 @@ class StringSwitch {
StringLiteral S3, StringLiteral S4, StringLiteral S5,
StringLiteral S6, StringLiteral S7, StringLiteral S8,
StringLiteral S9, T Value) {
- return CasesImpl(Value, {S0, S1, S2, S3, S4, S5, S6, S7, S8, S9});
+ return CasesImpl({S0, S1, S2, S3, S4, S5, S6, S7, S8, S9}, Value);
}
// Case-insensitive case matchers.
StringSwitch &CaseLower(StringLiteral S, T Value) {
- CaseLowerImpl(Value, S);
+ CaseLowerImpl(S, Value);
return *this;
}
@@ -167,26 +167,26 @@ class StringSwitch {
StringSwitch &CasesLower(std::initializer_list<StringLiteral> CaseStrings,
T Value) {
- return CasesLowerImpl(Value, CaseStrings);
+ return CasesLowerImpl(CaseStrings, Value);
}
StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, T Value) {
- return CasesLowerImpl(Value, {S0, S1});
+ return CasesLowerImpl({S0, S1}, Value);
}
StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, StringLiteral S2,
T Value) {
- return CasesLowerImpl(Value, {S0, S1, S2});
+ return CasesLowerImpl({S0, S1, S2}, Value);
}
StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, StringLiteral S2,
StringLiteral S3, T Value) {
- return CasesLowerImpl(Value, {S0, S1, S2, S3});
+ return CasesLowerImpl({S0, S1, S2, S3}, Value);
}
StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, StringLiteral S2,
StringLiteral S3, StringLiteral S4, T Value) {
- return CasesLowerImpl(Value, {S0, S1, S2, S3, S4});
+ return CasesLowerImpl({S0, S1, S2, S3, S4}, Value);
}
[[nodiscard]] R Default(T Value) {
@@ -207,7 +207,7 @@ class StringSwitch {
private:
// Returns true when `Str` matches the `S` argument, and stores the result.
- bool CaseImpl(T &Value, StringLiteral S) {
+ bool CaseImpl(StringLiteral S, T &Value) {
if (!Result && Str == S) {
Result = std::move(Value);
return true;
@@ -217,7 +217,7 @@ class StringSwitch {
// Returns true when `Str` matches the `S` argument (case-insensitive), and
// stores the result.
- bool CaseLowerImpl(T &Value, StringLiteral S) {
+ bool CaseLowerImpl(StringLiteral S, T &Value) {
if (!Result && Str.equals_insensitive(S)) {
Result = std::move(Value);
return true;
@@ -225,20 +225,20 @@ class StringSwitch {
return false;
}
- StringSwitch &CasesImpl(T &Value,
- std::initializer_list<StringLiteral> Cases) {
+ StringSwitch &CasesImpl(std::initializer_list<StringLiteral> Cases,
+ T &Value) {
// Stop matching after the string is found.
for (StringLiteral S : Cases)
- if (CaseImpl(Value, S))
+ if (CaseImpl(S, Value))
break;
return *this;
}
- StringSwitch &CasesLowerImpl(T &Value,
- std::initializer_list<StringLiteral> Cases) {
+ StringSwitch &CasesLowerImpl(std::initializer_list<StringLiteral> Cases,
+ T &Value) {
// Stop matching after the string is found.
for (StringLiteral S : Cases)
- if (CaseLowerImpl(Value, S))
+ if (CaseLowerImpl(S, Value))
break;
return *this;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/163592
More information about the llvm-commits
mailing list