Commit Graph

20 Commits

Author SHA1 Message Date
Robert Widmann
d2e7bdcfab Teach SwiftModules To Embed Incremental Information
Take advantage of the binary swiftdeps serialization utliities built during #32131. Add a new optional information block to swiftdeps files. For now, don't actually serialize swiftdeps information.

Frontends will use this information to determine whether to write incremental dependencies across modules into their swiftdeps files. We will then teach the driver to deserialize the data from this section and integrate it into its incremental decision making.
2020-09-24 20:07:01 -06:00
Robert Widmann
7c256f2f5a Generalize SourceFileDeclFinder
Strip mention of the SourceFile. Any FileUnit-esque thing that can provide top-level decls and `lookupClassMembers` works here - especially a ModuleDecl.
2020-09-24 11:33:15 -06:00
Robert Widmann
dd1ea9a237 [NFC] Privatize FrontendSourceFileDepGraphFactory.h 2020-09-24 11:19:53 -06:00
Robert Widmann
d57967569d Drop Interface Dependency Key APIs
Only external edges need this.
2020-09-21 14:47:39 -06:00
Robert Widmann
62555ec175 Drop Cascading Users from FrontendSourceFileDepGraphFactory's Modeling
The final set of edges that were being registered cascading were external edges. Just mark these all private - they're duplicated into the swiftdeps for each file that imports a given (usually clang) module anyways.
2020-09-21 14:11:20 -06:00
Robert Widmann
daeb081867 Remove appendHolderOfCascadingMembers 2020-09-21 10:42:33 -06:00
Robert Widmann
9e7964f4a5 Remove Reference::cascades 2020-09-21 10:37:42 -06:00
Slava Pestov
b873fe214e Code review feedback from Dave Ungar 2020-06-10 23:43:40 -04:00
Slava Pestov
d59a76c248 Dependencies: New binary format for fine-grained dependency graph 2020-06-10 15:40:55 -04:00
Robert Widmann
bf8d5412e0 Put UsedDeclEnumerator Back
This abstraction turns out to have hidden dependencies from the dependency verifier. Invert the dependency here and have it use the new enumerators in the DependencyRecorder instead.
2020-05-21 18:54:14 -07:00
Varun Gandhi
65577940d0 [NFC] Get rid of -Wrange-loop-analysis warnings. (#31324) 2020-04-27 09:47:52 -07:00
Anthony Latsis
74252028ca AST: Rename getFullName -> getName on ValueDecl & MissingMemberDecl 2020-04-23 05:16:55 +03:00
Robert Widmann
630d0f631a Merge pull request #30606 from AnthonyLatsis/rename-getfullname
[NFC] Preparations to address the «Rename to getName?» TODO on ValueDecl::getFullName
2020-04-01 09:00:04 -07:00
Robert Widmann
a337b67f69 Stage In Flags To Fall Back To Manual Tracking
Request-based incremental dependencies are enabled by default. For the time being, add a flag that will turn them off and switch back to manual dependency tracking.
2020-03-31 16:16:53 -07:00
Anthony Latsis
d0ae3ee580 [AST] Replace FuncDecl::getName & EnumElementDecl::getName with ValueDecl::getBaseIdentifier 2020-03-29 00:35:51 +03:00
David Ungar
85d70b59de Move use enumeration to ReferencedNameTracker 2020-03-02 14:39:47 -08:00
David Ungar
d5047ee208 Use isPrivateToEnclosingFile 2020-03-02 14:28:43 -08:00
David Ungar
72032493f9 Fix and test for extension body 2020-02-29 23:19:09 -08:00
David Ungar
0515e00616 Robert Widmann's .str() fixes 2020-02-19 23:58:36 -07:00
David Ungar
b367d2ebec Rename files and classes involved in SourceFileDepGraphConstruction 2020-02-19 23:57:23 -07:00