Skip to content

Initial Infrastructure for "Private Intransitive" Dependencies #31568

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 3 commits into from
May 5, 2020

Conversation

CodaFi
Copy link
Contributor

@CodaFi CodaFi commented May 5, 2020

This stands up a mode bit in the DependencyCollector and a new frontend and driver flag -experimental-private-intransitive-dependencies to support it. Reference dependencies and dependency verifier tests have been cloned to add the flag.

This PR is ultimately incomplete. Driver tests remain to be cloned/updated, and no infrastructure to solve the batch-mode caching problem exists in this patchset. These are larger problems that deserve their own separate PRs.

CodaFi added 2 commits May 5, 2020 12:56
This keeps us honest about the const-ness of the CompilerInstance itself: emitting diagnostics is a transitively mutating operation.
Add a flag to support setting the evaluator-based dependency collector in a mode that ignores scope inversions and only collects private dependencies.
@CodaFi
Copy link
Contributor Author

CodaFi commented May 5, 2020

@swift-ci smoke test and merge

Add a mode bit to the dependency collector that respects the frontend flag in the previous commit.

Notably, we now write over the dependency files at the end of the compiler pipeline when this flag is on so that dependency from SILGen and IRGen are properly written to disk.
@CodaFi CodaFi force-pushed the this-is-a-private-party branch from f6395d7 to b06211e Compare May 5, 2020 20:48
@CodaFi
Copy link
Contributor Author

CodaFi commented May 5, 2020

@swift-ci smoke test

@CodaFi
Copy link
Contributor Author

CodaFi commented May 5, 2020

@swift-ci test Windows

@CodaFi
Copy link
Contributor Author

CodaFi commented May 5, 2020

@CodaFi CodaFi merged commit ad00350 into swiftlang:master May 5, 2020
@CodaFi CodaFi deleted the this-is-a-private-party branch May 5, 2020 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant