ladybird/Userland/Libraries/LibJS/Bytecode
Linus Groh 85f0fc2b83 LibJS: Return Optional<T> from Completion::{value,target}(), not T
In the end this is a nicer API than having separate has_{value,target}()
and having to check those first, and then making another Optional from
the unwrapped value:

    completion.has_value() ? completion.value() : Optional<Value> {}
    //                       ^^^^^^^^^^^^^^^^^^
    //         Implicit creation of non-empty Optional<Value>

This way we need to unwrap the optional ourselves, but can easily pass
it to something else as well.

This is in anticipation of the AST using completions :^)
2022-01-03 21:50:50 +01:00
..
Pass LibJS: Avoid unnecessary copies in MergeBlocks codegen pass 2022-01-01 15:40:39 +01:00
ASTCodegen.cpp LibJS: Implement async functions as generator functions in BC mode 2021-11-12 13:01:59 +00:00
BasicBlock.cpp LibJS: Always inline the bytecode instruction iterator's operator++ 2021-10-25 13:37:02 +02:00
BasicBlock.h LibJS: Always inline the bytecode instruction iterator's operator++ 2021-10-25 13:37:02 +02:00
Executable.cpp LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
Executable.h LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
Generator.cpp LibJS: Implement async functions as generator functions in BC mode 2021-11-12 13:01:59 +00:00
Generator.h LibJS: Implement async functions as generator functions in BC mode 2021-11-12 13:01:59 +00:00
IdentifierTable.cpp LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
IdentifierTable.h LibJS: Add a separate "identifier table" to bytecode executables 2021-10-24 17:18:07 +02:00
Instruction.cpp LibJS: Move Instruction::length() to the Op.h header 2021-06-09 09:24:32 +02:00
Instruction.h LibJS: Fix codegen for nodes after try statements without 'finally' 2021-11-12 13:01:59 +00:00
Interpreter.cpp LibJS: Convert push_execution_context() to ThrowCompletionOr 2021-11-14 16:14:38 +00:00
Interpreter.h LibJS+LibTest+js: Convert BC::Interpreter::run to ThrowCompletionOr<> 2021-11-12 13:01:59 +00:00
Label.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
Op.cpp LibJS: Return Optional<T> from Completion::{value,target}(), not T 2022-01-03 21:50:50 +01:00
Op.h LibJS: Fix codegen for nodes after try statements without 'finally' 2021-11-12 13:01:59 +00:00
PassManager.h LibJS: Add a basic pass manager and add some basic passes 2021-06-15 22:06:33 +04:30
Register.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
StringTable.cpp LibJS: Use String and move semantics in Bytecode::StringTable 2021-10-24 17:18:07 +02:00
StringTable.h LibJS: Use String and move semantics in Bytecode::StringTable 2021-10-24 17:18:07 +02:00