| 753 | } |
| 754 | |
| 755 | QVector<QualifiedIdentifier> DUContext::fullyApplyAliases(const QualifiedIdentifier& id, |
| 756 | const TopDUContext* source) const |
| 757 | { |
| 758 | ENSURE_CAN_READ |
| 759 | |
| 760 | if (!source) |
| 761 | source = topContext(); |
| 762 | |
| 763 | SearchItem::PtrList identifiers; |
| 764 | identifiers << SearchItem::Ptr(new SearchItem(id)); |
| 765 | |
| 766 | const DUContext* current = this; |
| 767 | while (current) { |
| 768 | SearchItem::PtrList aliasedIdentifiers; |
| 769 | current->applyAliases(identifiers, aliasedIdentifiers, CursorInRevision::invalid(), true, false); |
| 770 | current->applyUpwardsAliases(identifiers, source); |
| 771 | |
| 772 | current = current->parentContext(); |
| 773 | } |
| 774 | |
| 775 | QVector<QualifiedIdentifier> ret; |
| 776 | for (const SearchItem::Ptr& item : std::as_const(identifiers)) { |
| 777 | ret += item->toList(); |
| 778 | } |
| 779 | |
| 780 | return ret; |
| 781 | } |
| 782 | |
| 783 | QList<Declaration*> DUContext::findDeclarations(const QualifiedIdentifier& identifier, |
| 784 | const CursorInRevision& position, |
no test coverage detected