pub fn canonical_cpp_scope_components(unit: &CodeUnit) -> Vec<String>Expand description
Return the indexed C++ owner scope without reparsing its rendered name.
Template spellings are opaque within an indexed FqName segment. In
particular, the ellipsis in a parameter pack (Args...) is part of the
AtomicHook<...> type segment; feeding the legacy all-:: rendering back
through parse_symbol_path would mistake those dots for component
separators. Cache-loaded/legacy units may still have an empty structured
name, so retain the parser only as that explicit fallback.
Only a terminal member is not a scope. A callable that encloses a function-local class (with a synthetic block owner) is one of that class’s scope components, exactly as its canonical name spells it.