1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-25 22:25:08 +00:00
serenity/Libraries/LibJS/Runtime
Andreas Kling 343e224aa8 LibJS: Implement basic exception throwing
You can now throw exceptions by calling Interpreter::throw_exception().
Anyone who calls ASTNode::execute() needs to check afterwards if the
Interpreter now has an exception(), and if so, stop what they're doing
and simply return.

When catching an exception, we'll first execute the CatchClause node
if present. After that, we'll execute the finalizer block if present.

This is unlikely to be completely correct, but it's a start! :^)
2020-03-24 16:14:10 +01:00
..
Array.cpp LibJS: Use FlyString for identifiers 2020-03-22 13:03:43 +01:00
Array.h LibJS: Use FlyString for identifiers 2020-03-22 13:03:43 +01:00
ArrayPrototype.cpp LibJS: Add ArrayPrototype and implement Array.prototype.push() 2020-03-20 21:56:40 +01:00
ArrayPrototype.h LibJS: Add ArrayPrototype and implement Array.prototype.push() 2020-03-20 21:56:40 +01:00
Cell.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
Cell.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
ConsoleObject.cpp LibJS: Use FlyString for identifiers 2020-03-22 13:03:43 +01:00
ConsoleObject.h LibJS: Replace the global print() function with console.log() :^) 2020-03-16 14:58:20 +01:00
Error.cpp LibJS: Implement basic exception throwing 2020-03-24 16:14:10 +01:00
Error.h LibJS: Implement basic exception throwing 2020-03-24 16:14:10 +01:00
ErrorPrototype.cpp LibJS: Implement basic exception throwing 2020-03-24 16:14:10 +01:00
ErrorPrototype.h LibJS: Implement basic exception throwing 2020-03-24 16:14:10 +01:00
Function.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
Function.h LibJS: Pass argument value vectors as const Vector<Value>& 2020-03-17 16:24:53 +01:00
GlobalObject.cpp LibJS: Add Math.random() :^) 2020-03-21 17:52:12 +01:00
GlobalObject.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
MathObject.cpp LibJS: Use rand() for Math.random() on other systems 2020-03-23 13:14:04 +01:00
MathObject.h LibJS: Add Math.random() :^) 2020-03-21 17:52:12 +01:00
NativeFunction.cpp LibJS: Tolerate NativeFunction::call() with non-object 'this' for now 2020-03-18 17:13:22 +01:00
NativeFunction.h LibJS+LibWeb: Fix some inconsistencies in NativeFunction callbacks 2020-03-21 14:43:44 +01:00
NativeProperty.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
NativeProperty.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
Object.cpp LibJS: Use FlyString for identifiers 2020-03-22 13:03:43 +01:00
Object.h LibJS: Implement basic exception throwing 2020-03-24 16:14:10 +01:00
ObjectPrototype.cpp LibJS: Pass argument value vectors as const Vector<Value>& 2020-03-17 16:24:53 +01:00
ObjectPrototype.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
PrimitiveString.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
PrimitiveString.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
ScriptFunction.cpp LibJS: Use FlyString for identifiers 2020-03-22 13:03:43 +01:00
ScriptFunction.h LibJS: Use FlyString for identifiers 2020-03-22 13:03:43 +01:00
StringObject.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
StringObject.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
StringPrototype.cpp LibJS: Pass argument value vectors as const Vector<Value>& 2020-03-17 16:24:53 +01:00
StringPrototype.h LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
Value.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
Value.h LibJS: Allow default-constructing a JS::Value (undefined) 2020-03-20 21:56:40 +01:00