Log more info about observations
commit44bdd60e78c0cc355163015a471e5d74d8fb0a2e
authorShaunak Kishore <kshaunak@fb.com>
Tue, 9 Jun 2020 02:25:33 +0000 (8 19:25 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 9 Jun 2020 02:28:26 +0000 (8 19:28 -0700)
treedb7df272cc91a30353343be52d2e64aa9871c4da
parenta951c9f704e2a10678581bc1176e47388dcbc849
Log more info about observations

Summary:
For unknown provenance cases, we include "empty" and "static" conditions in the message. Let's add those for known provenance cases, too.

Also, let's extend "empty" into a tripartite classification: "empty", (non-empty) "list-like", and "map-like". This classification is useful for e.g. some serialization cases, where map-like darrays don't cause any problems (they'll serialize the same way as if they were dicts).

Reviewed By: ricklavoie

Differential Revision: D21936960

fbshipit-source-id: df1bee622d81f6ff05f1f92b4106c053560c745c
hphp/runtime/base/runtime-error.cpp
hphp/test/slow/array_provenance/ap-logging.php.expectf
hphp/test/slow/array_provenance/double-logging.php.expectf
hphp/test/slow/array_provenance/dv_cast_bug.php.expectf
hphp/test/slow/array_provenance/fb_compact_serialize.php.expectf
hphp/test/slow/array_provenance/inlining.php.expectf
hphp/test/slow/array_provenance/is-tests.php.expectf
hphp/test/slow/array_provenance/type-structure.php.expectf
hphp/test/slow/hack_arr_compat/is_array.php.expectf