> On Aug 22, 2017, at 01:24, Daryle Walker <dary...@mac.com> wrote:
> 
>> On Aug 21, 2017, at 3:55 PM, David Zarzycki <zarzy...@icloud.com> wrote:
>> 
>> The easiest way to start adding new features to an existing project is by 
>> cribbing from existing features that are sufficiently similar (at least 
>> enough to get started and see what fails to compile after some changes). For 
>> example, if you wanted to implement a new and awesome loop construct, then 
>> start by copying, pasting, and renaming the implementation details for an 
>> existing loop that you like (be it “for” or “while”, etc). You’ll learn far 
>> faster this way than any other way. :-)
> 
> I’m trying to figure out where are these features and what directories I need 
> to look at.
> 
> The steps I would go are:
> 1. Create a new test file for the AST phase with “alter MyAlterTest1 {}”. 
> Figure out where the corresponding makefile/whatever is and add the test file 
> there too.

Just create a test file somewhere in test directory hierarchy. The test suite 
will automatically notice it when the test suite is run.

As for creating new source files, that tends not to be done in the project. 
Take parsing for example:

lib/Parse/CMakeLists.txt
lib/Parse/Confusables.cpp
lib/Parse/Lexer.cpp
lib/Parse/ParseDecl.cpp
lib/Parse/ParseExpr.cpp
lib/Parse/ParseGeneric.cpp
lib/Parse/ParseIfConfig.cpp
lib/Parse/ParsePattern.cpp
lib/Parse/ParseStmt.cpp
lib/Parse/ParseType.cpp
lib/Parse/Parser.cpp
lib/Parse/PersistentParserState.cpp
lib/Parse/Scope.cpp

Notice now *all* of the declaration parsing is done in one file. If you want to 
add a new decl kind, then you’ll need to update that file and dependent files.

Good luck,
Dave
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to