================
@@ -131,6 +131,20 @@ class OriginNode {
     return nullptr;
   }
 
+  /// To reach the record, peels the base's outer origin when the
+  /// base is a glvalue (`IsGLValue`) and one more level for an arrow access
+  /// (`IsArrow`), then looks up `FD`. Returns null if `FD` is not reachable.
+  OriginNode *resolveMemberField(const FieldDecl *FD, bool IsGLValue,
----------------
aeft wrote:

This method is changed from `getFieldChildInChain`, I moved to this PR since it 
has more context here (i.e., its two callsites):

```cpp
  OriginNode *getFieldChildInChain(const FieldDecl *FD) const {

    for (const OriginNode *N = this; N; N = N->getPointeeChild())
      if (OriginNode *Child = N->getFieldChild(FD))
        return Child;
    return nullptr;
  }
```

https://github.com/llvm/llvm-project/pull/195603
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to