Skip to content

GSoC '25: Qualified name lookup for swift-syntax #895

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 6, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions gsoc2025/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,29 @@ A richer set of refactorings in SourceKit-LSP that aid developers in performing

- [Alex Hoppen](https://github.com/ahoppen)

### Qualified name lookup for swift-syntax

**Project size**: 350 hours

**Estimated difficulty**: Intermediate

**Recommended skills**

- Basic proficiency in Swift.

**Description**

Qualified name lookup is the process by which a compiler resolves a reference `A.f` into a lookup for entities named `f` within `A`. In Swift, this can mean looking into the type `A` and all of its extensions, superclass, protocols, and so on to find visible members. The project involves building a new library to be integrated into the [swift-syntax package](https://github.com/swiftlang/swift-syntax) that implements Swift's qualified name lookup semantics, making it easy to build source tools that resolve names. The library will likely include a symbol table implementation that provides efficient lookup of a given name within a given type. It should also integrate with last year's [unqualified name lookup library project](https://forums.swift.org/t/gsoc-2024-swiftlexicallookup-a-new-lexical-name-lookup-library/75889), to provide complete support for name lookup on Swift code processed with swift-syntax.

**Expected outcomes/benefits/deliverables**

- Swift library providing APIs for qualified name lookup in swift-syntax
- Documentation and tutorial for the library
- Integration of the Swift library with the `SwiftLexicalLookup` library that implements unqualified name lookup

**Potential mentors**

- [Doug Gregor](https://github.com/DougGregor)

### Example project name

Expand Down