1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-31 21:42:43 +00:00
serenity/Libraries/LibJS/Runtime
Matthew Olsson 61ac1d3ffa LibJS: Lex and parse regex literals, add RegExp objects
This adds regex parsing/lexing, as well as a relatively empty
RegExpObject. The purpose of this patch is to allow the engine to not
get hung up on parsing regexes. This will aid in finding new syntax
errors (say, from google or twitter) without having to replace all of
their regexes first!
2020-06-07 19:06:55 +02:00
..
Accessor.h LibJS: Object index properties have descriptors; Handle sparse indices 2020-05-28 17:17:13 +02:00
Array.cpp LibJS: Object index properties have descriptors; Handle sparse indices 2020-05-28 17:17:13 +02:00
Array.h LibJS: Object index properties have descriptors; Handle sparse indices 2020-05-28 17:17:13 +02:00
ArrayConstructor.cpp LibJS: Object index properties have descriptors; Handle sparse indices 2020-05-28 17:17:13 +02:00
ArrayConstructor.h LibJS: Add Array.of() 2020-05-08 20:06:49 +02:00
ArrayPrototype.cpp LibJS: Add Array.prototype.toLocaleString() 2020-05-29 08:00:02 +02:00
ArrayPrototype.h LibJS: Add Array.prototype.toLocaleString() 2020-05-29 08:00:02 +02:00
BooleanConstructor.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
BooleanConstructor.h LibJS: Reformat BooleanConstructor.{cpp,h} 2020-04-07 17:25:50 +02:00
BooleanObject.cpp LibJS: Move builtin prototypes to the global object 2020-04-18 13:24:45 +02:00
BooleanObject.h LibJS: Pass prototype to BooleanObject constructor 2020-04-18 10:28:22 +02:00
BooleanPrototype.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
BooleanPrototype.h LibJS: Boolean, Number and String prototypes should have values too 2020-04-10 13:09:35 +02:00
BoundFunction.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
BoundFunction.h LibJS: Implement Function.prototype.bind() 2020-04-21 12:23:07 +02:00
Cell.cpp LibJS: Implement correct object property ordering 2020-04-29 18:47:03 +02:00
Cell.h LibJS: Implement correct object property ordering 2020-04-29 18:47:03 +02:00
ConsoleObject.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
ConsoleObject.h LibJS: Add ConsoleMessage concept 2020-05-02 11:41:35 +02:00
Date.cpp LibJS: Move builtin prototypes to the global object 2020-04-18 13:24:45 +02:00
Date.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
DateConstructor.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
DateConstructor.h LibJS: Implement constructor/non-constructor function calls 2020-04-01 20:18:36 +02:00
DatePrototype.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
DatePrototype.h LibJS: Implement Date.prototype.to{Date,Time}String() 2020-03-30 21:43:35 +02:00
Error.cpp LibJS: run clang-format on all the files 2020-05-05 09:15:16 +02:00
Error.h LibJS: Pass prototype to Error constructors 2020-04-18 10:28:22 +02:00
ErrorConstructor.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
ErrorConstructor.h LibJS: Use enumerator macros for boilerplate code around native types 2020-04-10 14:06:52 +02:00
ErrorPrototype.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
ErrorPrototype.h LibJS: Implement Error.prototype.name setter (#1776) 2020-04-13 11:19:53 +02:00
Exception.cpp LibJS: Store basic traceback in Exception 2020-06-02 15:22:34 +02:00
Exception.h LibJS: Store basic traceback in Exception 2020-06-02 15:22:34 +02:00
Function.cpp LibJS: Allow null or undefined as a bound |this| value in strict mode 2020-06-03 08:19:03 +02:00
Function.h LibJS: Fix casting a value to ScriptFunction without checking it's one 2020-06-01 17:37:44 +02:00
FunctionConstructor.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
FunctionConstructor.h LibJS: Add Function() and Function.prototype 2020-04-04 15:58:49 +02:00
FunctionPrototype.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
FunctionPrototype.h LibJS: Pass prototype to Function constructors 2020-04-18 10:28:22 +02:00
GlobalObject.cpp LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
GlobalObject.h LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
IndexedProperties.cpp LibJS: Distinguish between omitted descriptor attributes and false ones 2020-06-06 22:13:01 +02:00
IndexedProperties.h LibJS: Distinguish between omitted descriptor attributes and false ones 2020-06-06 22:13:01 +02:00
LexicalEnvironment.cpp LibJS: Allow cells to mark null pointers 2020-04-16 16:10:38 +02:00
LexicalEnvironment.h LibJS: Introduce LexicalEnvironment 2020-04-15 22:07:20 +02:00
MarkedValueList.cpp LibJS: run clang-format on all the files 2020-05-05 09:15:16 +02:00
MarkedValueList.h LibJS: Add MarkedValueList and use it for argument passing 2020-04-19 17:34:33 +02:00
MathObject.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
MathObject.h LibJS: Add Math.clz32() 2020-05-18 17:57:28 +02:00
NativeFunction.cpp LibJS: Move builtin prototypes to the global object 2020-04-18 13:24:45 +02:00
NativeFunction.h LibJS: Pass prototype to Function constructors 2020-04-18 10:28:22 +02:00
NativeProperty.cpp LibJS+LibWeb: Pass prototype to Object constructor 2020-04-18 11:00:55 +02:00
NativeProperty.h LibJS+LibWeb: Move native properties to separate getters/setters 2020-03-29 00:37:33 +01:00
NumberConstructor.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
NumberConstructor.h LibJS: Implement Number.isInteger() 2020-04-26 20:36:59 +02:00
NumberObject.cpp LibJS: Move builtin prototypes to the global object 2020-04-18 13:24:45 +02:00
NumberObject.h LibJS: Pass prototype to NumberObject constructor 2020-04-18 10:28:22 +02:00
NumberPrototype.cpp LibJS: Move builtin prototypes to the global object 2020-04-18 13:24:45 +02:00
NumberPrototype.h LibJS: Boolean, Number and String prototypes should have values too 2020-04-10 13:09:35 +02:00
Object.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
Object.h LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
ObjectConstructor.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
ObjectConstructor.h LibJS: Add Object.{isExtensible,preventExtensions}() 2020-06-02 08:50:26 +02:00
ObjectPrototype.cpp LibJS: Add Object.prototype.toLocaleString() 2020-05-29 08:00:02 +02:00
ObjectPrototype.h LibJS: Add Object.prototype.toLocaleString() 2020-05-29 08:00:02 +02:00
PrimitiveString.cpp LibJS: Add js_string(Interpreter&, String) 2020-04-04 12:58:05 +02:00
PrimitiveString.h LibJS: Add js_string(Interpreter&, String) 2020-04-04 12:58:05 +02:00
PropertyAttributes.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
PropertyAttributes.h LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
PropertyName.h LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
ProxyConstructor.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
ProxyConstructor.h LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
ProxyObject.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
ProxyObject.h LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
ProxyPrototype.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
ProxyPrototype.h LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
Reference.cpp LibJS: Throw in strict mode when assigning property to primitive value 2020-05-29 07:45:22 +02:00
Reference.h LibJS: Support o.f++ :^) 2020-04-28 15:07:08 +02:00
ReflectObject.cpp LibJS: Add PropertyDescriptor object 2020-06-06 22:13:01 +02:00
ReflectObject.h LibJS: Implement most of the Reflect object 2020-05-01 16:54:01 +02:00
RegExpConstructor.cpp LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
RegExpConstructor.h LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
RegExpObject.cpp LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
RegExpObject.h LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
RegExpPrototype.cpp LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
RegExpPrototype.h LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
ScriptFunction.cpp LibJS: Throw a TypeError when an arrow function is used as a constructor 2020-05-30 10:33:24 +02:00
ScriptFunction.h LibJS: Fix casting a value to ScriptFunction without checking it's one 2020-06-01 17:37:44 +02:00
Shape.cpp LibJS: Add Proxy objects 2020-06-06 22:13:01 +02:00
Shape.h LibJS: Distinguish between omitted descriptor attributes and false ones 2020-06-06 22:13:01 +02:00
StringConstructor.cpp LibJS: Add String.fromCharCode() 2020-05-31 02:19:52 +02:00
StringConstructor.h LibJS: Add String.fromCharCode() 2020-05-31 02:19:52 +02:00
StringObject.cpp LibJS: Move builtin prototypes to the global object 2020-04-18 13:24:45 +02:00
StringObject.h LibJS: Make StringObject::primitive_string() return a reference 2020-04-29 12:33:28 +02:00
StringPrototype.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
StringPrototype.h LibJS: Add String.prototype.lastIndexOf 2020-05-01 16:50:37 +02:00
Symbol.cpp LibJS: Add symbol objects 2020-05-17 18:05:15 +02:00
Symbol.h LibJS: Add symbol objects 2020-05-17 18:05:15 +02:00
SymbolConstructor.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
SymbolConstructor.h LibJS: Add symbol objects 2020-05-17 18:05:15 +02:00
SymbolObject.cpp LibJS: Add symbol objects 2020-05-17 18:05:15 +02:00
SymbolObject.h LibJS: Add symbol objects 2020-05-17 18:05:15 +02:00
SymbolPrototype.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
SymbolPrototype.h LibJS: Remove no-op SymbolPrototype::description_setter() 2020-05-18 09:36:14 +02:00
Uint8ClampedArray.cpp LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
Uint8ClampedArray.h LibJS: Simplify and normalize publicly-exposed Object functions 2020-05-27 13:17:35 +02:00
Value.cpp LibJS: Value.in uses has_property instead of get().is_empty() 2020-06-06 22:13:01 +02:00
Value.h LibM: Add INFINITY macro 2020-06-04 15:45:11 +02:00