ladybird/Libraries/LibJS/Runtime
Linus Groh 5a307836c1 LibJS: Handle symbol PropertyName in primitive assignment error
We can't just to_string() the PropertyName, it might be a symbol.
Instead to_value() it and then use to_string_without_side_effects() as
usual.

Fixes #4062.
2020-11-12 11:40:29 +01:00
..
Accessor.h LibJS: Don't require Interpreter& for constructing an Accessor 2020-09-27 20:26:58 +02:00
Array.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
Array.h LibJS: Make native function/property callbacks take VM, not Interpreter 2020-09-27 20:26:58 +02:00
ArrayConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ArrayConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ArrayIterator.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
ArrayIterator.h LibJS: ArrayIterator needs to mark the array it's iterating 2020-09-08 16:20:34 +02:00
ArrayIteratorPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ArrayIteratorPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
ArrayPrototype.cpp LibJS: Handle circular references in Array.prototype.toLocaleString() 2020-11-06 15:50:18 +01:00
ArrayPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
BigInt.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
BigInt.h LibJS: Fix weird self-including header 2020-10-06 18:37:58 +02:00
BigIntConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BigIntConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
BigIntObject.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
BigIntObject.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
BigIntPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BigIntPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
BooleanConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BooleanConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
BooleanObject.cpp LibJS: Remove a bunch of unnecessary uses of Cell::interpreter() 2020-09-27 20:26:58 +02:00
BooleanObject.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
BooleanPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BooleanPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
BoundFunction.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
BoundFunction.h LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
Cell.cpp LibJS: Remove Cell::interpreter() 2020-10-04 17:03:33 +02:00
Cell.h LibJS: Remove Cell::interpreter() 2020-10-04 17:03:33 +02:00
CommonPropertyNames.h LibJS: Add some more items to CommonPropertyNames that I missed 2020-10-14 00:10:49 +02:00
ConsoleObject.cpp LibJS: Add some more items to CommonPropertyNames that I missed 2020-10-14 00:10:49 +02:00
ConsoleObject.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
Date.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
Date.h LibJS: Use String::formatted() in various other places 2020-10-04 19:22:02 +02:00
DateConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
DateConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
DatePrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
DatePrototype.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
Error.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
Error.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
ErrorConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ErrorConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ErrorPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ErrorPrototype.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
ErrorTypes.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
ErrorTypes.h LibJS: Throw TypeError when calling class constructor without 'new' 2020-11-12 10:14:00 +01:00
Exception.cpp LibJS: Use regular stack for VM call frames instead of Vector storage 2020-11-07 13:58:28 +01:00
Exception.h LibJS: Move most of Interpreter into VM 2020-09-27 20:26:58 +02:00
Function.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
Function.h LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
FunctionConstructor.cpp LibJS: Tweak generated source in 'new Function()' to match ES 2015 spec 2020-10-29 22:27:55 +01:00
FunctionConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
FunctionPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
FunctionPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
GlobalObject.cpp LibJS: Set prototype of GlobalObject to ObjectPrototype 2020-11-07 10:08:05 +01:00
GlobalObject.h LibJS: Prebake the empty object ({}) with a prototype 2020-10-17 23:23:53 +02:00
IndexedProperties.cpp LibJS: Skip trailing empty values in IndexedPropertyIterator 2020-11-07 10:03:58 +01:00
IndexedProperties.h LibJS: Use array-like size for IndexedProperties::is_empty() 2020-11-05 20:01:30 +01:00
IteratorOperations.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
IteratorOperations.h LibJS: get_iterator_values() should pass Value to callback (not Value&) 2020-09-08 14:15:13 +02:00
IteratorPrototype.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
IteratorPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
JSONObject.cpp LibJS: Add some more items to CommonPropertyNames that I missed 2020-10-14 00:10:49 +02:00
JSONObject.h LibJS: Remove use of Interpreter& in JSONObject code 2020-09-27 20:26:58 +02:00
LexicalEnvironment.cpp LibJS: Shrink sizeof(LexicalEnvironment) by reorganizing members 2020-10-22 17:03:40 +02:00
LexicalEnvironment.h LibJS: Shrink sizeof(LexicalEnvironment) by reorganizing members 2020-10-22 17:03:40 +02:00
MarkedValueList.cpp LibJS: Make MarkedValueList inherit from Vector<Value> 2020-09-08 13:43:03 +02:00
MarkedValueList.h LibJS: Make MarkedValueList inherit from Vector<Value> 2020-09-08 13:43:03 +02:00
MathObject.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
MathObject.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
NativeFunction.cpp LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
NativeFunction.h LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
NativeProperty.cpp LibJS: Make native function/property callbacks take VM, not Interpreter 2020-09-27 20:26:58 +02:00
NativeProperty.h LibJS: Make native function/property callbacks take VM, not Interpreter 2020-09-27 20:26:58 +02:00
NumberConstructor.cpp LibJS: Use pow instead of __bulitin_pow on clang 2020-11-07 10:09:55 +01:00
NumberConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
NumberObject.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
NumberObject.h LibJS: Add Number.prototype.toString 2020-07-15 18:24:55 +02:00
NumberPrototype.cpp LibJS: Add some more items to CommonPropertyNames that I missed 2020-10-14 00:10:49 +02:00
NumberPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
Object.cpp LibJS: Throw RuntimeError when reaching the end of the stack 2020-11-08 16:51:54 +01:00
Object.h LibJS: Implement spec-compliant OrdinaryToPrimitive 2020-11-04 19:33:49 +01:00
ObjectConstructor.cpp LibJS: Implement Object(value) constructor 2020-11-04 23:06:44 +01:00
ObjectConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ObjectPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ObjectPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
PrimitiveString.cpp LibJS: Give VM a cache of single-ASCII-character PrimitiveString 2020-10-22 17:48:12 +02:00
PrimitiveString.h LibJS: Remove js_string(Interpreter&, ...) 2020-09-27 20:26:58 +02:00
PropertyAttributes.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
PropertyAttributes.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PropertyName.h LibJS: Don't create "valid" PropertyName from null string 2020-11-04 15:31:39 +01:00
ProxyConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ProxyConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ProxyObject.cpp LibJS: Fix ProxyObject get/set with symbol property name 2020-11-04 23:06:44 +01:00
ProxyObject.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
ProxyPrototype.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
ProxyPrototype.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
Reference.cpp LibJS: Handle symbol PropertyName in primitive assignment error 2020-11-12 11:40:29 +01:00
Reference.h LibJS: Reduce use of Interpreter in Reference 2020-09-29 16:45:39 +02:00
ReflectObject.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
ReflectObject.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
RegExpConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
RegExpConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
RegExpObject.cpp LibJS: Implement RegExp.prototype.toString() as standalone function 2020-11-04 19:33:49 +01:00
RegExpObject.h LibJS: Implement RegExp.prototype.toString() as standalone function 2020-11-04 19:33:49 +01:00
RegExpPrototype.cpp LibJS: Implement RegExp.prototype.toString() as standalone function 2020-11-04 19:33:49 +01:00
RegExpPrototype.h LibJS: Implement RegExp.prototype.toString() as standalone function 2020-11-04 19:33:49 +01:00
ScriptFunction.cpp LibJS: Throw TypeError when calling class constructor without 'new' 2020-11-12 10:14:00 +01:00
ScriptFunction.h LibJS: Throw TypeError when calling class constructor without 'new' 2020-11-12 10:14:00 +01:00
Shape.cpp LibJS: Use allocate_without_global_object for allocating Shapes 2020-10-17 23:47:07 +02:00
Shape.h LibJS: Remove unused variable m_has_property_table in Shape 2020-11-07 10:09:55 +01:00
StringConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
StringConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
StringIterator.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
StringIterator.h LibJS: Add StringIterator 2020-07-13 15:07:29 +02:00
StringIteratorPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
StringIteratorPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
StringObject.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
StringObject.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
StringOrSymbol.h LibJS: Don't create StringOrSymbol(String) if from_value() fails 2020-11-07 10:08:05 +01:00
StringPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
StringPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
Symbol.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
Symbol.h LibJS: Use string::formatted() in to_string() functions 2020-10-04 19:22:02 +02:00
SymbolConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
SymbolConstructor.h LibJS: Remove Interpreter& argument to Function::construct() 2020-09-27 20:26:58 +02:00
SymbolObject.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
SymbolObject.h LibJS: Move global symbol map from SymbolObject to Interpreter 2020-07-09 23:29:28 +02:00
SymbolPrototype.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
SymbolPrototype.h LibJS: Simplify Cell::initialize() 2020-07-23 17:31:08 +02:00
Uint8ClampedArray.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
Uint8ClampedArray.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
Value.cpp LibWeb+LibJS: Add [LegacyNullToEmptyString] attribute 2020-11-11 12:15:05 +01:00
Value.h LibWeb+LibJS: Add [LegacyNullToEmptyString] attribute 2020-11-11 12:15:05 +01:00
VM.cpp LibJS: Throw RuntimeError when reaching the end of the stack 2020-11-08 16:51:54 +01:00
VM.h LibJS: Throw RuntimeError when reaching the end of the stack 2020-11-08 16:51:54 +01:00