Add List::len method

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2024-09-30 17:46:03 -07:00
parent e5756d6f1a
commit a370d3a56f
2 changed files with 12 additions and 2 deletions

View File

@@ -185,6 +185,12 @@ impl List {
FunctionResult::ReturnPush(item)
}
pub(crate) fn len(vm: &mut Vm, _state: FunctionState) -> FunctionResult {
let this = vm.frame_stack()[0].clone();
let len = with_obj_downcast(this, |list: &List| list.list().len());
Int::create(len as i64).into()
}
pub(crate) fn push(vm: &mut Vm, _state: FunctionState) -> FunctionResult {
let this = vm.frame_stack()[0].clone();
let arg = vm.frame_stack()[1].clone();