Skip to content

Commit a9e1bfb

Browse files
authored
GSoC '25: Qualified name lookup for swift-syntax (#895)
1 parent e710821 commit a9e1bfb

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

gsoc2025/index.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,29 @@ A richer set of refactorings in SourceKit-LSP that aid developers in performing
139139

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

142+
### Qualified name lookup for swift-syntax
142143

144+
**Project size**: 350 hours
145+
146+
**Estimated difficulty**: Intermediate
147+
148+
**Recommended skills**
149+
150+
- Basic proficiency in Swift.
151+
152+
**Description**
153+
154+
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.
155+
156+
**Expected outcomes/benefits/deliverables**
157+
158+
- Swift library providing APIs for qualified name lookup in swift-syntax
159+
- Documentation and tutorial for the library
160+
- Integration of the Swift library with the `SwiftLexicalLookup` library that implements unqualified name lookup
161+
162+
**Potential mentors**
163+
164+
- [Doug Gregor](https://github.com/DougGregor)
143165

144166
### Example project name
145167

0 commit comments

Comments
 (0)