use crate::{
builtins::OrdinaryObject,
vm::{opcode::Operation, CompletionType},
Context, JsResult,
};
#[derive(Debug, Clone, Copy)]
pub(crate) struct PushEmptyObject;
impl Operation for PushEmptyObject {
const NAME: &'static str = "PushEmptyObject";
const INSTRUCTION: &'static str = "INST - PushEmptyObject";
const COST: u8 = 1;
fn execute(context: &mut Context) -> JsResult<CompletionType> {
let o = context
.intrinsics()
.templates()
.ordinary_object()
.create(OrdinaryObject, Vec::default());
context.vm.push(o);
Ok(CompletionType::Normal)
}
}