mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-27 11:59:05 +00:00
Update codegen.rs
This commit is contained in:
parent
eaded7ac5d
commit
73248f21df
1 changed files with 12 additions and 6 deletions
|
@ -2041,9 +2041,11 @@ impl PyCodeGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
fn emit_with_instr_311(&mut self, args: Args) {
|
||||
fn emit_with_instr_311(&mut self, mut args: Args) {
|
||||
log!(info "entered {}", fn_name!());
|
||||
let mut args = args;
|
||||
if !matches!(args.get(1).unwrap(), Expr::Lambda(_)) {
|
||||
return self.deopt_instr(ControlKind::With, args);
|
||||
}
|
||||
let expr = args.remove(0);
|
||||
let lambda = enum_unwrap!(args.remove(0), Expr::Lambda);
|
||||
let params = self.gen_param_names(&lambda.params);
|
||||
|
@ -2087,9 +2089,11 @@ impl PyCodeGenerator {
|
|||
self.emit_load_name_instr(stash);
|
||||
}
|
||||
|
||||
fn emit_with_instr_310(&mut self, args: Args) {
|
||||
fn emit_with_instr_310(&mut self, mut args: Args) {
|
||||
log!(info "entered {}", fn_name!());
|
||||
let mut args = args;
|
||||
if !matches!(args.get(1).unwrap(), Expr::Lambda(_)) {
|
||||
return self.deopt_instr(ControlKind::With, args);
|
||||
}
|
||||
let expr = args.remove(0);
|
||||
let lambda = enum_unwrap!(args.remove(0), Expr::Lambda);
|
||||
let params = self.gen_param_names(&lambda.params);
|
||||
|
@ -2138,9 +2142,11 @@ impl PyCodeGenerator {
|
|||
self.emit_load_name_instr(stash);
|
||||
}
|
||||
|
||||
fn emit_with_instr_308(&mut self, args: Args) {
|
||||
fn emit_with_instr_308(&mut self, mut args: Args) {
|
||||
log!(info "entered {}", fn_name!());
|
||||
let mut args = args;
|
||||
if !matches!(args.get(1).unwrap(), Expr::Lambda(_)) {
|
||||
return self.deopt_instr(ControlKind::With, args);
|
||||
}
|
||||
let expr = args.remove(0);
|
||||
let lambda = enum_unwrap!(args.remove(0), Expr::Lambda);
|
||||
let params = self.gen_param_names(&lambda.params);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue