(
input: TokenStream,
compiler: &dyn Compiler,
)
| 336 | } |
| 337 | |
| 338 | pub fn impl_py_compile( |
| 339 | input: TokenStream, |
| 340 | compiler: &dyn Compiler, |
| 341 | ) -> Result<TokenStream, Diagnostic> { |
| 342 | let args = PyCompileArgs::parse(input, false)?; |
| 343 | |
| 344 | let crate_name = args.crate_name; |
| 345 | let code = args |
| 346 | .source |
| 347 | .compile_single(args.mode, args.module_name, compiler)?; |
| 348 | |
| 349 | let frozen = frozen::FrozenCodeObject::encode(&code); |
| 350 | let bytes = LitByteStr::new(&frozen.bytes, Span::call_site()); |
| 351 | |
| 352 | let output = quote! { |
| 353 | #crate_name::frozen::FrozenCodeObject { bytes: &#bytes[..] } |
| 354 | }; |
| 355 | |
| 356 | Ok(output) |
| 357 | } |
| 358 | |
| 359 | pub fn impl_py_freeze( |
| 360 | input: TokenStream, |
no test coverage detected