Project

General

Profile

« Previous | Next » 

Revision 771a2f03

Added by jeremyevans (Jeremy Evans) almost 2 years ago

Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat

For zsuper calls with a keyword splat but no actual keywords, the
keyword splat is passed directly, so it cannot be mutable, because
if the callee accepts a keyword splat, changes to the keyword splat
by the callee would be reflected in the caller.

While here, simplify the logic when the method supports
literal keywords. I don't think it is possible for
a method with has_kw param flags to not have keywords, so add an
assertion for that, and set VM_CALL_KW_SPLAT_MUT in a single place.