1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:47:35 +00:00
serenity/Libraries/LibJS/Runtime
Linus Groh 39a1c9d827 LibJS: Implement 'new.target'
This adds a new MetaProperty AST node which will be used for
'new.target' and 'import.meta' meta properties. The parser now
distinguishes between "in function context" and "in arrow function
context" (which is required for this).
When encountering TokenType::New we will attempt to parse it as meta
property and resort to regular new expression parsing if that fails,
much like the parsing of labelled statements.
2020-11-02 22:40:59 +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: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02: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: Use String::formatted() for throw_exception() message 2020-10-04 19:22:02 +02:00
Exception.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02: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: Use allocate_without_global_object for allocating Shapes 2020-10-17 23:47:07 +02:00
GlobalObject.h LibJS: Prebake the empty object ({}) with a prototype 2020-10-17 23:23:53 +02:00
IndexedProperties.cpp LibJS: Speed up IndexedPropertyIterator by computing non-empty indices 2020-10-20 08:51:41 +02:00
IndexedProperties.h LibJS: Speed up IndexedPropertyIterator by computing non-empty indices 2020-10-20 08:51:41 +02: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: constexpr some Number object constant values 2020-10-16 17:06:57 +02: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: Use allocate_without_global_object for allocating Shapes 2020-10-17 23:47:07 +02:00
Object.h LibJS: Prebake the empty object ({}) with a prototype 2020-10-17 23:23:53 +02:00
ObjectConstructor.cpp LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02: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: Fix PropertyName::from_value() for negative and non-int numbers 2020-10-08 10:02:47 +02: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: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02: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: Use String::formatted() for throw_exception() message 2020-10-04 19:22:02 +02: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: Use string::formatted() in to_string() functions 2020-10-04 19:22:02 +02:00
RegExpObject.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
RegExpPrototype.cpp LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
RegExpPrototype.h LibJS+LibWeb: Add JS::Object::inherits(class_name) 2020-06-21 15:15:52 +02:00
ScriptFunction.cpp LibJS: Implement 'new.target' 2020-11-02 22:40:59 +01:00
ScriptFunction.h LibJS: Move "strict mode" state to the call stack 2020-10-04 17:03:33 +02:00
Shape.cpp LibJS: Use allocate_without_global_object for allocating Shapes 2020-10-17 23:47:07 +02:00
Shape.h LibJS: Reorganize Shape members to reduce sizeof(Shape) a bit 2020-10-16 16:46:27 +02: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: Support move semantics for StringOrSymbol 2020-10-15 23:49:53 +02: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 LibJS: Cache commonly used FlyStrings in the VM 2020-10-13 23:57:45 +02:00
Value.h LibJS: Add Value::is_nullish() 2020-10-02 18:01:27 +02:00
VM.cpp LibJS: Give VM a cache of single-ASCII-character PrimitiveString 2020-10-22 17:48:12 +02:00
VM.h LibJS: Give VM a cache of single-ASCII-character PrimitiveString 2020-10-22 17:48:12 +02:00