diff --git a/boa_engine/src/vm/opcode/define/class/getter.rs b/boa_engine/src/vm/opcode/define/class/getter.rs index 745f3efc5ff..16f76cbd115 100644 --- a/boa_engine/src/vm/opcode/define/class/getter.rs +++ b/boa_engine/src/vm/opcode/define/class/getter.rs @@ -26,7 +26,7 @@ impl Operation for DefineClassGetterByName { let name = context.vm.frame().code.names[index as usize]; let name = context .interner() - .resolve_expect(name) + .resolve_expect(name.sym()) .into_common::(false) .into(); let set = object diff --git a/boa_engine/src/vm/opcode/define/class/method.rs b/boa_engine/src/vm/opcode/define/class/method.rs index dd64efbbf0f..f9ca7ca57fb 100644 --- a/boa_engine/src/vm/opcode/define/class/method.rs +++ b/boa_engine/src/vm/opcode/define/class/method.rs @@ -28,7 +28,7 @@ impl Operation for DefineClassMethodByName { .expect("method must be function object") .set_home_object(object.clone()); let name = context.vm.frame().code.names[index as usize]; - let name = context.interner().resolve_expect(name); + let name = context.interner().resolve_expect(name.sym()); object.__define_own_property__( name.into_common::(false).into(), PropertyDescriptor::builder() diff --git a/boa_engine/src/vm/opcode/define/class/setter.rs b/boa_engine/src/vm/opcode/define/class/setter.rs index 9db6d4040b0..f9765f39cd2 100644 --- a/boa_engine/src/vm/opcode/define/class/setter.rs +++ b/boa_engine/src/vm/opcode/define/class/setter.rs @@ -26,7 +26,7 @@ impl Operation for DefineClassSetterByName { let name = context.vm.frame().code.names[index as usize]; let name = context .interner() - .resolve_expect(name) + .resolve_expect(name.sym()) .into_common::(false) .into(); let get = object diff --git a/boa_engine/src/vm/opcode/define/mod.rs b/boa_engine/src/vm/opcode/define/mod.rs index 1532f0e84f7..1174f9fcfa1 100644 --- a/boa_engine/src/vm/opcode/define/mod.rs +++ b/boa_engine/src/vm/opcode/define/mod.rs @@ -24,7 +24,7 @@ impl Operation for DefVar { if binding_locator.is_global() { let key = context .interner() - .resolve_expect(binding_locator.name()) + .resolve_expect(binding_locator.name().sym()) .into_common(false); context.global_bindings_mut().entry(key).or_insert( PropertyDescriptor::builder() @@ -61,7 +61,7 @@ impl Operation for DefInitVar { if binding_locator.is_global() { let key = context .interner() - .resolve_expect(binding_locator.name()) + .resolve_expect(binding_locator.name().sym()) .into_common::(false) .into(); crate::object::internal_methods::global::global_set_no_receiver(&key, value, context)?; diff --git a/boa_engine/src/vm/opcode/define/own_property.rs b/boa_engine/src/vm/opcode/define/own_property.rs index cf9a7e92753..c0f0962d9d8 100644 --- a/boa_engine/src/vm/opcode/define/own_property.rs +++ b/boa_engine/src/vm/opcode/define/own_property.rs @@ -23,7 +23,7 @@ impl Operation for DefineOwnPropertyByName { let name = context.vm.frame().code.names[index as usize]; let name = context .interner() - .resolve_expect(name) + .resolve_expect(name.sym()) .into_common::(false); object.__define_own_property__( name.into(), diff --git a/boa_engine/src/vm/opcode/delete/mod.rs b/boa_engine/src/vm/opcode/delete/mod.rs index 516a6ef0348..267d362c235 100644 --- a/boa_engine/src/vm/opcode/delete/mod.rs +++ b/boa_engine/src/vm/opcode/delete/mod.rs @@ -15,7 +15,7 @@ impl Operation for DeletePropertyByName { let key = context.vm.frame().code.names[index as usize]; let key = context .interner() - .resolve_expect(key) + .resolve_expect(key.sym()) .into_common::(false) .into(); let object = context.vm.pop(); diff --git a/boa_engine/src/vm/opcode/get/name.rs b/boa_engine/src/vm/opcode/get/name.rs index ba5f9039724..86f326edf73 100644 --- a/boa_engine/src/vm/opcode/get/name.rs +++ b/boa_engine/src/vm/opcode/get/name.rs @@ -26,7 +26,7 @@ impl Operation for GetName { } else { let key: JsString = context .interner() - .resolve_expect(binding_locator.name()) + .resolve_expect(binding_locator.name().sym()) .into_common(false); match context.global_bindings_mut().get(&key) { Some(desc) => match desc.kind() { @@ -61,7 +61,7 @@ impl Operation for GetName { } else { let name = context .interner() - .resolve_expect(binding_locator.name()) + .resolve_expect(binding_locator.name().sym()) .to_string(); return context.throw_reference_error(format!("{name} is not initialized")); }; @@ -92,7 +92,7 @@ impl Operation for GetNameOrUndefined { } else { let key: JsString = context .interner() - .resolve_expect(binding_locator.name()) + .resolve_expect(binding_locator.name().sym()) .into_common(false); match context.global_bindings_mut().get(&key) { Some(desc) => match desc.kind() { diff --git a/boa_engine/src/vm/opcode/get/private.rs b/boa_engine/src/vm/opcode/get/private.rs index 7c87f4878ee..b5a10e865f6 100644 --- a/boa_engine/src/vm/opcode/get/private.rs +++ b/boa_engine/src/vm/opcode/get/private.rs @@ -17,7 +17,7 @@ impl Operation for GetPrivateField { let value = context.vm.pop(); if let Some(object) = value.as_object() { let object_borrow_mut = object.borrow(); - if let Some(element) = object_borrow_mut.get_private_element(name) { + if let Some(element) = object_borrow_mut.get_private_element(name.sym()) { match element { PrivateElement::Field(value) => context.vm.push(value), PrivateElement::Method(method) => context.vm.push(method.clone()), diff --git a/boa_engine/src/vm/opcode/get/property.rs b/boa_engine/src/vm/opcode/get/property.rs index 6da99de02ff..a7e1eedce40 100644 --- a/boa_engine/src/vm/opcode/get/property.rs +++ b/boa_engine/src/vm/opcode/get/property.rs @@ -24,7 +24,7 @@ impl Operation for GetPropertyByName { let name = context.vm.frame().code.names[index as usize]; let name: PropertyKey = context .interner() - .resolve_expect(name) + .resolve_expect(name.sym()) .into_common::(false) .into(); let result = object.get(name, context)?; diff --git a/boa_engine/src/vm/opcode/push/class/field.rs b/boa_engine/src/vm/opcode/push/class/field.rs index 7e371dab06d..1c9b87fdda6 100644 --- a/boa_engine/src/vm/opcode/push/class/field.rs +++ b/boa_engine/src/vm/opcode/push/class/field.rs @@ -69,7 +69,7 @@ impl Operation for PushClassFieldPrivate { .as_function_mut() .expect("class must be function object") .push_field_private( - name, + name.sym(), JsFunction::from_object_unchecked(field_function_object.clone()), ); Ok(ShouldExit::False) diff --git a/boa_engine/src/vm/opcode/push/class/private.rs b/boa_engine/src/vm/opcode/push/class/private.rs index 5e574157344..49cd4cacc46 100644 --- a/boa_engine/src/vm/opcode/push/class/private.rs +++ b/boa_engine/src/vm/opcode/push/class/private.rs @@ -23,7 +23,7 @@ impl Operation for PushClassPrivateMethod { .borrow_mut() .as_function_mut() .expect("class must be function object") - .push_private_method(name, PrivateElement::Method(method_object.clone())); + .push_private_method(name.sym(), PrivateElement::Method(method_object.clone())); Ok(ShouldExit::False) } } @@ -48,7 +48,7 @@ impl Operation for PushClassPrivateGetter { .as_function_mut() .expect("class must be function object") .push_private_method( - name, + name.sym(), PrivateElement::Accessor { getter: Some(getter_object.clone()), setter: None, @@ -78,7 +78,7 @@ impl Operation for PushClassPrivateSetter { .as_function_mut() .expect("class must be function object") .push_private_method( - name, + name.sym(), PrivateElement::Accessor { getter: None, setter: Some(setter_object.clone()), diff --git a/boa_engine/src/vm/opcode/set/name.rs b/boa_engine/src/vm/opcode/set/name.rs index 7a3aac61b2f..80402425083 100644 --- a/boa_engine/src/vm/opcode/set/name.rs +++ b/boa_engine/src/vm/opcode/set/name.rs @@ -24,7 +24,7 @@ impl Operation for SetName { { let key: JsString = context .interner() - .resolve_expect(binding_locator.name()) + .resolve_expect(binding_locator.name().sym()) .into_common(false); let exists = context.global_bindings_mut().contains_key(&key); @@ -56,7 +56,7 @@ impl Operation for SetName { ) { context.throw_reference_error(format!( "cannot access '{}' before initialization", - context.interner().resolve_expect(binding_locator.name()) + context.interner().resolve_expect(binding_locator.name().sym()) ))?; } Ok(ShouldExit::False) diff --git a/boa_engine/src/vm/opcode/set/private.rs b/boa_engine/src/vm/opcode/set/private.rs index 910edc24555..e4aefb9f03b 100644 --- a/boa_engine/src/vm/opcode/set/private.rs +++ b/boa_engine/src/vm/opcode/set/private.rs @@ -18,9 +18,9 @@ impl Operation for AssignPrivateField { let object = context.vm.pop(); if let Some(object) = object.as_object() { let mut object_borrow_mut = object.borrow_mut(); - match object_borrow_mut.get_private_element(name) { + match object_borrow_mut.get_private_element(name.sym()) { Some(PrivateElement::Field(_)) => { - object_borrow_mut.set_private_element(name, PrivateElement::Field(value)); + object_borrow_mut.set_private_element(name.sym(), PrivateElement::Field(value)); } Some(PrivateElement::Method(_)) => { return context.throw_type_error("private method is not writable"); @@ -64,13 +64,13 @@ impl Operation for SetPrivateField { if let Some(PrivateElement::Accessor { getter: _, setter: Some(setter), - }) = object_borrow_mut.get_private_element(name) + }) = object_borrow_mut.get_private_element(name.sym()) { let setter = setter.clone(); drop(object_borrow_mut); setter.call(&object.clone().into(), &[value], context)?; } else { - object_borrow_mut.set_private_element(name, PrivateElement::Field(value)); + object_borrow_mut.set_private_element(name.sym(), PrivateElement::Field(value)); } } else { return context.throw_type_error("cannot set private property on non-object"); @@ -94,7 +94,7 @@ impl Operation for SetPrivateMethod { let object = context.vm.pop(); if let Some(object) = object.as_object() { let mut object_borrow_mut = object.borrow_mut(); - object_borrow_mut.set_private_element(name, PrivateElement::Method(value.clone())); + object_borrow_mut.set_private_element(name.sym(), PrivateElement::Method(value.clone())); } else { return context.throw_type_error("cannot set private setter on non-object"); } @@ -117,7 +117,7 @@ impl Operation for SetPrivateSetter { let object = context.vm.pop(); if let Some(object) = object.as_object() { let mut object_borrow_mut = object.borrow_mut(); - object_borrow_mut.set_private_element_setter(name, value.clone()); + object_borrow_mut.set_private_element_setter(name.sym(), value.clone()); } else { return context.throw_type_error("cannot set private setter on non-object"); } @@ -140,7 +140,7 @@ impl Operation for SetPrivateGetter { let object = context.vm.pop(); if let Some(object) = object.as_object() { let mut object_borrow_mut = object.borrow_mut(); - object_borrow_mut.set_private_element_getter(name, value.clone()); + object_borrow_mut.set_private_element_getter(name.sym(), value.clone()); } else { return context.throw_type_error("cannot set private getter on non-object"); } diff --git a/boa_engine/src/vm/opcode/set/property.rs b/boa_engine/src/vm/opcode/set/property.rs index d90b3956270..97c043a030a 100644 --- a/boa_engine/src/vm/opcode/set/property.rs +++ b/boa_engine/src/vm/opcode/set/property.rs @@ -25,7 +25,7 @@ impl Operation for SetPropertyByName { let name = context.vm.frame().code.names[index as usize]; let name: PropertyKey = context .interner() - .resolve_expect(name) + .resolve_expect(name.sym()) .into_common::(false) .into(); @@ -72,7 +72,7 @@ impl Operation for SetPropertyGetterByName { let name = context.vm.frame().code.names[index as usize]; let name = context .interner() - .resolve_expect(name) + .resolve_expect(name.sym()) .into_common::(false) .into(); let set = object @@ -141,7 +141,7 @@ impl Operation for SetPropertySetterByName { let name = context.vm.frame().code.names[index as usize]; let name = context .interner() - .resolve_expect(name) + .resolve_expect(name.sym()) .into_common::(false) .into(); let get = object