[swift-dev] How do I start implementing a feature?

Daryle Walker darylew at mac.com
Mon Aug 21 11:50:17 CDT 2017

I downloaded (w/ GitHub Desktop on macOS) a copy of the Swift repository. I ran the build scripts to download the other parts of LLVM, built everything, and created Xcode (9 beta 4) project files. Now how do I actually do a new feature? The number of targets in the Xcode project file is so intimidatingly huge I don’t know where to start.

The feature is a new kind of named type. I need to start with the AST part of the compiler, plus some test cases. The format of the new type of type is:

key-tag identifier : type-inheritance-list definition-block

where the key tag is currently “alter” and the type inheritance list must have exactly one type in it. (So an empty list or an all-protocol list is an error.) Right now, I want a test for accepting the new type at all, rejecting a new type with an empty inheritance list, and rejecting a new type with all protocols in its list. If those last two tests would be part of the semantic phase, I’ll hold off on those until the AST phase is done.

Daryle Walker
Mac, Internet, and Video Game Junkie
darylew AT mac DOT com 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20170821/189b17aa/attachment.html>

More information about the swift-dev mailing list