Selaa lähdekoodia

LibJS: Don't repeat attributes in {Boolean,Symbol}Prototype

Linus Groh 4 vuotta sitten
vanhempi
commit
4f6aa38434

+ 3 - 2
Userland/Libraries/LibJS/Runtime/BooleanPrototype.cpp

@@ -20,8 +20,9 @@ void BooleanPrototype::initialize(GlobalObject& global_object)
 {
 {
     auto& vm = this->vm();
     auto& vm = this->vm();
     BooleanObject::initialize(global_object);
     BooleanObject::initialize(global_object);
-    define_native_function(vm.names.toString, to_string, 0, Attribute::Writable | Attribute::Configurable);
-    define_native_function(vm.names.valueOf, value_of, 0, Attribute::Writable | Attribute::Configurable);
+    u8 attr = Attribute::Writable | Attribute::Configurable;
+    define_native_function(vm.names.toString, to_string, 0, attr);
+    define_native_function(vm.names.valueOf, value_of, 0, attr);
 }
 }
 
 
 BooleanPrototype::~BooleanPrototype()
 BooleanPrototype::~BooleanPrototype()

+ 3 - 2
Userland/Libraries/LibJS/Runtime/SymbolPrototype.cpp

@@ -26,9 +26,10 @@ void SymbolPrototype::initialize(GlobalObject& global_object)
 {
 {
     auto& vm = this->vm();
     auto& vm = this->vm();
     Object::initialize(global_object);
     Object::initialize(global_object);
+    u8 attr = Attribute::Writable | Attribute::Configurable;
+    define_native_function(vm.names.toString, to_string, 0, attr);
+    define_native_function(vm.names.valueOf, value_of, 0, attr);
     define_native_property(vm.names.description, description_getter, {}, Attribute::Configurable);
     define_native_property(vm.names.description, description_getter, {}, Attribute::Configurable);
-    define_native_function(vm.names.toString, to_string, 0, Attribute::Writable | Attribute::Configurable);
-    define_native_function(vm.names.valueOf, value_of, 0, Attribute::Writable | Attribute::Configurable);
     define_native_function(vm.well_known_symbol_to_primitive(), symbol_to_primitive, 1, Attribute::Configurable);
     define_native_function(vm.well_known_symbol_to_primitive(), symbol_to_primitive, 1, Attribute::Configurable);
 
 
     // 20.4.3.6 Symbol.prototype [ @@toStringTag ], https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
     // 20.4.3.6 Symbol.prototype [ @@toStringTag ], https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag