swift
0e313930 - [Macros] Add executable plugin support

Commit
2 years ago
[Macros] Add executable plugin support Executable compiler plugins are programs invoked by the host compiler and communicate with the host with IPC via standard IO (stdin/stdout.) Each message is serialized in JSON, prefixed with a header which is a 64bit little-endian integer indicating the size of the message. * Basic/ExecuteWithPipe: External program invocation. Lik llvm::sys::ExecuteNoWait() but establishing pipes to the child's stdin/stdout * Basic/Sandbox: Sandboxed execution helper. Create command line arguments to be executed in sandbox environment (similar to SwiftPM's pluging sandbox) * AST/PluginRepository: ASTContext independent plugin manager * ASTGen/PluginHost: Communication with the plugin. Messages are serialized by ASTGen/LLVMJSON rdar://101508815
Author
Committer
Parents
Loading