Files
ladybird/Libraries/LibJS/Bytecode/Generator.cpp
Andreas Kling 322ad1363e LibJS: Throw ReferenceError for invalid assignment targets like foo()=x
CallExpression is accepted as an assignment target for web compatibility
(Annex B), but must throw ReferenceError at runtime. We were incorrectly
throwing TypeError with a TODO message.

Replace emit_todo() calls in three codegen paths (simple assignment,
compound assignment/update, and for-in/of) with proper ReferenceError
using the "Invalid left-hand side in assignment" message, matching the
behavior of V8 and JSC.
2026-02-12 11:37:43 +01:00

80 KiB