Skip to content
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

Swift-driver integration, Part II: add Swift front-end parsing stage #209

Merged
merged 4 commits into from
Jun 1, 2023

Conversation

polac24
Copy link
Collaborator

@polac24 polac24 commented May 31, 2023

Part II (out of IV) of the swift driver integration:

  • Introduces xcswift-frontend wrapper that parses input parameters and stores them into the structured module (struct)
  • Adds (very experimental for now) enable_swift_driver_integration config that will enable the driver integration
  • Plugs in XCSwiftFrontend and SwiftFrontendOrchestrator that are no-op for now, but in a follow-up PR will add swift-frontend processes synchronization

Previous PR: #208

@polac24 polac24 force-pushed the add-driver-parsing branch from d491cb5 to 338cbd1 Compare May 31, 2023 04:08
file: primaryInputFilesURLs[i],
dependencies: dependenciesPaths.get(i).map(URL.init(fileURLWithPath:)),
object: outputPaths.get(i).map(URL.init(fileURLWithPath:)),
// for now - swift-dependencies are not requested in the driver compilation mode
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at least I have never seen that

}

override public func run() throws {
// TODO: implement in a follow-up PR
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be added separately to keep this PR small(er)


func run(criticalSection: () throws -> Void) throws {
// TODO: implement synchronization in a separate PR
try criticalSection()
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be added separately to keep this PR small(er)

@polac24 polac24 changed the title Add Swift front-end parsing stage Swift-driver integration, Part II: add Swift front-end parsing stage May 31, 2023
@polac24 polac24 marked this pull request as ready for review May 31, 2023 04:56
Copy link
Contributor

@aleksandergrzyb aleksandergrzyb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some typos. Looks great!

@@ -279,6 +286,7 @@ struct ConfigFileScheme: Decodable {
let customRewriteEnvs: [String]?
let irrelevantDependenciesPaths: [String]?
let gracefullyHandleMissingCommonSha: Bool?
let enableSwifDriverIntegration: Bool?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
let enableSwifDriverIntegration: Bool?
let enableSwiftDriverIntegration: Bool?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same in others. 👀

// -target is required
case emitMissingTarget
// -moduleName is required
case emiMissingModuleName
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
case emiMissingModuleName
case emitMissingModuleName

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.

2 participants