MCPcopy Index your code
hub / github.com/RustPython/RustPython / compile_block_expression

Function compile_block_expression

crates/codegen/src/compile.rs:294–306  ·  view source on GitHub ↗
(
    ast: &ast::ModModule,
    source_file: SourceFile,
    opts: CompileOpts,
)

Source from the content-addressed store, hash-verified

292}
293
294pub fn compile_block_expression(
295 ast: &ast::ModModule,
296 source_file: SourceFile,
297 opts: CompileOpts,
298) -> CompileResult<CodeObject> {
299 let symbol_table = SymbolTable::scan_program(ast, source_file.clone())
300 .map_err(|e| e.into_codegen_error(source_file.name().to_owned()))?;
301 let mut compiler = Compiler::new(opts, source_file, "<module>".to_owned());
302 compiler.compile_block_expr(&ast.body, symbol_table)?;
303 let code = compiler.exit_scope();
304 trace!("Compilation completed: {code:?}");
305 Ok(code)
306}
307
308pub fn compile_expression(
309 ast: &ast::ModExpression,

Callers 1

compile_topFunction · 0.85

Calls 7

newFunction · 0.85
into_codegen_errorMethod · 0.80
compile_block_exprMethod · 0.80
exit_scopeMethod · 0.80
cloneMethod · 0.45
to_ownedMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected