Skip to content

Commit

Permalink
chore: formatted code
Browse files Browse the repository at this point in the history
  • Loading branch information
Hirevo committed Jan 27, 2023
1 parent e186569 commit 7904ae0
Showing 1 changed file with 32 additions and 32 deletions.
64 changes: 32 additions & 32 deletions som-interpreter-bc/src/interpreter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -279,44 +279,44 @@ impl Interpreter {
.expect(
"A message cannot be handled and `doesNotUnderstand:arguments:` is not defined on receiver"
);

return;
};

match method.kind() {
MethodKind::Defined(_) => {
let mut args = Vec::with_capacity(nb_params + 1);

for _ in 0..nb_params {
let arg = interpreter.stack.pop().unwrap();
args.push(arg);
}
let self_value = interpreter.stack.pop().unwrap();
args.push(self_value.clone());

args.reverse();
match method.kind() {
MethodKind::Defined(_) => {
let mut args = Vec::with_capacity(nb_params + 1);

let holder = method.holder.upgrade().unwrap();
let frame = interpreter.push_frame(FrameKind::Method {
self_value,
method,
holder,
});
frame.borrow_mut().args = args;
}
MethodKind::Primitive(func) => {
func(interpreter, universe);
}
MethodKind::NotImplemented(err) => {
let self_value = interpreter.stack.iter().nth_back(nb_params).unwrap();
println!(
"{}>>#{}",
self_value.class(&universe).borrow().name(),
method.signature(),
);
panic!("Primitive `#{}` not implemented", err)
for _ in 0..nb_params {
let arg = interpreter.stack.pop().unwrap();
args.push(arg);
}
let self_value = interpreter.stack.pop().unwrap();
args.push(self_value.clone());

args.reverse();

let holder = method.holder.upgrade().unwrap();
let frame = interpreter.push_frame(FrameKind::Method {
self_value,
method,
holder,
});
frame.borrow_mut().args = args;
}
MethodKind::Primitive(func) => {
func(interpreter, universe);
}
MethodKind::NotImplemented(err) => {
let self_value = interpreter.stack.iter().nth_back(nb_params).unwrap();
println!(
"{}>>#{}",
self_value.class(&universe).borrow().name(),
method.signature(),
);
panic!("Primitive `#{}` not implemented", err)
}
}
}

fn resolve_method(
Expand Down

0 comments on commit 7904ae0

Please sign in to comment.