Files
codegraph/__tests__
Colby Mchenry 0cea43e9ba fix(cpp): -> on an absl::StatusOr reaches the class it holds; a using-declared member of a dependent base is found (#2539)
Two gaps in C++ member lookup. In protobuf, `absl::StatusOr<FeatureResolver>
resolver = …; resolver->MergeFeatures(…)` was guessed by the method's name:
the declared type's last name, `StatusOr`, is no class of the project's,
and only std's smart pointers and optional were followed to what they
hold. In rocksdb's typed_cache.h, `using
BasicTypedCacheHelperFns<TValue>::DownCastValue;` makes a bare
`DownCastValue(v)` the base's, but a bare name skipped every base that
depends on the class's template parameters.

- cppHeldType (was cppStdHeldType) also reads `absl::StatusOr`,
  `absl::optional` and `absl::NoDestructor` as holders, and
  matchCppHeldTypeCall takes one whose name no project type has
  (isCppLibraryHolder) — std's holders as before.
- cppUsingDeclares reads the `using Base::name;` declarations a class body
  writes. cppScopeMethod and cppInheritedDataMember look a bare name up
  in a dependent base when the class brings it in from that base.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 17:43:42 +00:00
..