| 77 | resolve_qualified_type_identifiers_(resolve_qualified_type_identifiers) {} |
| 78 | |
| 79 | std::vector<std::string> Resolver::FullyQualifiedNames(absl::string_view name, |
| 80 | int64_t expr_id) const { |
| 81 | // TODO(issues/105): refactor the reference resolution into this method. |
| 82 | // and handle the case where this id is in the reference map as either a |
| 83 | // function name or identifier name. |
| 84 | std::vector<std::string> names; |
| 85 | |
| 86 | auto prefixes = GetPrefixesFor(name); |
| 87 | names.reserve(prefixes.size()); |
| 88 | for (const auto& prefix : prefixes) { |
| 89 | std::string fully_qualified_name = absl::StrCat(prefix, name); |
| 90 | names.push_back(fully_qualified_name); |
| 91 | } |
| 92 | return names; |
| 93 | } |
| 94 | |
| 95 | absl::Span<const std::string> Resolver::GetPrefixesFor( |
| 96 | absl::string_view& name) const { |