mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
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
1.7 KiB
1.7 KiB