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

Function _compile

crates/compiler/src/lib.rs:285–301  ·  view source on GitHub ↗
(
    source_file: SourceFile,
    mode: Mode,
    opts: CompileOpts,
)

Source from the content-addressed store, hash-verified

283}
284
285fn _compile(
286 source_file: SourceFile,
287 mode: Mode,
288 opts: CompileOpts,
289) -> Result<CodeObject, CompileError> {
290 let parser_mode = match mode {
291 Mode::Exec => parser::Mode::Module,
292 Mode::Eval => parser::Mode::Expression,
293 // ruff does not have an interactive mode, which is fine,
294 // since these are only different in terms of compilation
295 Mode::Single | Mode::BlockExpr => parser::Mode::Module,
296 };
297 let parsed = parser::parse(source_file.source_text(), parser_mode.into())
298 .map_err(|err| CompileError::from_ruff_parse_error(err, &source_file))?;
299 let ast = parsed.into_syntax();
300 compile::compile_top(ast, source_file, mode, opts).map_err(|e| e.into())
301}
302
303pub fn compile_symtable(
304 source: &str,

Callers 1

compileFunction · 0.70

Calls 2

compile_topFunction · 0.85
parseFunction · 0.50

Tested by

no test coverage detected