Null coalesce assignment member op test coverage
Summary:
We have very minimal test coverage of null coalesce assignment instructions when the lhs is a member-op chain. Had to debug a couple flib tests that we should've caught in our own testing.
This diff adds tests for all the different bases an Elem->SetElem (null coalesce assignment) path in member-operations.h can expect.
This will also ensure the behavior doesn't change between this diff and the next diff when the bytecode changes.
If we do move NullCoalesce to be a SetOp rather than currently elem/setElem path, we need to make sure the read of the lhs generates the same warnings/fatals as we currently do. There are some subtle differences between setop + elem->setElem paths. This diff aims to also emit the warnings Elem() can currently generate.
Reviewed By: oulgen
Differential Revision:
D28525954
fbshipit-source-id:
cbe1f3d69205f8e29cdb26f6ef79ea2ace1e3916