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
[Macros] Add 'LibraryPluginProvider' #2300
Conversation
0241bc1
to
6de0873
Compare
@swift-ci Please smoke test |
// punycode encodings or word substitutions. | ||
// FIXME: This is process global. Can we limit it to a specific .dylib ? | ||
for suffix in [ | ||
/*struct*/ "V", /*enum*/ "O", /*class*/ "C" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we also need to support actors? Or are they mangled as classes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently actors are mangled as classes.
2a486f7
to
3ec336f
Compare
apple/swift#69236 |
3ec336f
to
f15fc25
Compare
@swift-ci Please test |
@swift-ci Please test Windows |
f15fc25
to
8c7baac
Compare
@swift-ci Please test |
@swift-ci Please test Windows |
@swift-ci Please test Windows |
8c7baac
to
6ed9ea2
Compare
@swift-ci Please test |
@swift-ci Please test Windows |
@swift-ci Please test macOS |
#if swift(>=6.0) | ||
public import SwiftSyntaxMacros | ||
@_spi(PluginMessage) public import SwiftCompilerPluginMessageHandling | ||
// NOTE: Do not use '_' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// NOTE: Do not use '_' | |
// NOTE: Do not use '_SwiftSyntaxCShims' for 'dlopen' and 'LoadLibraryW' (Windows) because we don't want other modules depend on 'WinSDK'. |
6ed9ea2
to
1693c4e
Compare
LibraryPluginProvider is a 'PluginProvider' type that can load shared library plugins at runtime.
1693c4e
to
1c9eb89
Compare
@swift-ci Please test |
@swift-ci Please test Windows |
LibraryPluginProvider
is aPluginProvider
that can load shared library plugins at runtime.in the near future, combined with #2301, in
ASTGen
, we can easily create in-process "plugin server" likeso we can treat in-process plugins as just another plugin server