================
@@ -342,14 +399,37 @@ class _makePropStorage<Property prop, string name> {
         true : "") # ";";
 }
 
+/// Construct a `Pred`icate `ret` that wraps the predicate of the underlying
+/// property `childProp` with:
+///
+///   [](childProp.storageType& s) {
+///     return [](childProp.interfaceType i) {
+///       return leafSubst(childProp.predicate, "$_self" to "i");
+///     }(childProp.convertFromStorage(s))
+///   }
+///
+/// and then appends `prefix` and `suffix`.
+class _makeChildWrapperPred<string prefix, Property wrappedProp, string 
suffix> {
----------------
zero9178 wrote:

```suggestion
class _makeStorageWrapperPred<string prefix, Property wrappedProp, string 
suffix> {
```
Not 100% sure about the current name or the suggested name, but feel this 
explains the implementation a bit more precisely (effectively allowing us to 
use this predicate with the storage type instead)

Are `prefix` and `suffix` also strictly needed or could they be added by caller 
code using `Conat`? I feel this might make the code slightly easier to digest

https://github.com/llvm/llvm-project/pull/120176
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to