1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:27:43 +00:00

LibJS/Bytecode: Implement optional chaining

This commit is contained in:
Luke Wilde 2023-06-17 14:50:23 +01:00 committed by Andreas Kling
parent c9088fa6ec
commit 1116ba191a
2 changed files with 148 additions and 54 deletions

View file

@ -1975,6 +1975,10 @@ public:
virtual Completion execute(Interpreter&) const override;
virtual ThrowCompletionOr<JS::Reference> to_reference(Interpreter&) const override;
virtual void dump(int indent) const override;
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode(Bytecode::Generator&) const override;
Expression const& base() const { return *m_base; }
Vector<Reference> const& references() const { return m_references; }
private:
struct ReferenceAndValue {