Skip to content

Commit 6b8e9c2

Browse files
committed
parser::Mode from compile::Mode
1 parent 8c9c282 commit 6b8e9c2

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

compiler/parser/src/mode.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,17 @@ impl Mode {
1717
}
1818
}
1919

20+
impl From<rustpython_compiler_core::Mode> for Mode {
21+
fn from(mode: rustpython_compiler_core::Mode) -> Self {
22+
use rustpython_compiler_core::Mode as CompileMode;
23+
match mode {
24+
CompileMode::Exec => Self::Module,
25+
CompileMode::Eval => Self::Expression,
26+
CompileMode::Single | CompileMode::BlockExpr => Self::Interactive,
27+
}
28+
}
29+
}
30+
2031
impl std::str::FromStr for Mode {
2132
type Err = ModeParseError;
2233
fn from_str(s: &str) -> Result<Self, ModeParseError> {

compiler/src/lib.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,7 @@ pub fn compile(
3131
source_path: String,
3232
opts: compile::CompileOpts,
3333
) -> Result<CodeObject, CompileError> {
34-
let parser_mode = match mode {
35-
compile::Mode::Exec => parser::Mode::Module,
36-
compile::Mode::Eval => parser::Mode::Expression,
37-
compile::Mode::Single | compile::Mode::BlockExpr => parser::Mode::Interactive,
38-
};
39-
let mut ast = match parser::parse(source, parser_mode, &source_path) {
34+
let mut ast = match parser::parse(source, mode.into(), &source_path) {
4035
Ok(x) => x,
4136
Err(e) => return Err(error_from_parse(e, source)),
4237
};

0 commit comments

Comments
 (0)