LibJS/Bytecode: Ensure we do not generate bytecode for super expressions

Similar to AST mode, super expressions are handled elsewhere.
This commit is contained in:
Timothy Flynn 2023-07-06 17:16:20 -04:00 committed by Andreas Kling
parent 23daf5097b
commit 2f1d6c0b9a
2 changed files with 7 additions and 0 deletions

View file

@ -1435,6 +1435,7 @@ public:
virtual Completion execute(Interpreter&) const override;
virtual void dump(int indent) const override;
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode(Bytecode::Generator&) const override;
virtual bool is_super_expression() const override { return true; }
};

View file

@ -2348,6 +2348,12 @@ Bytecode::CodeGenerationErrorOr<void> SwitchStatement::generate_labelled_evaluat
return {};
}
Bytecode::CodeGenerationErrorOr<void> SuperExpression::generate_bytecode(Bytecode::Generator&) const
{
// The semantics for SuperExpression are handled in CallExpression and SuperCall.
VERIFY_NOT_REACHED();
}
Bytecode::CodeGenerationErrorOr<void> ClassDeclaration::generate_bytecode(Bytecode::Generator& generator) const
{
auto accumulator_backup_reg = generator.allocate_register();