Implement HHVM type structure correctness for unknown shape fields
commitf70d9fb7b8120067677e024153efb3e80575ab31
authorMichael Tingley <tingley@fb.com>
Tue, 7 Mar 2017 19:23:08 +0000 (7 11:23 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 8 Mar 2017 18:59:32 +0000 (8 10:59 -0800)
tree5a2f95ae0b0e094cce5ec5c5c6c0aeb24f9c8ab0
parent4196dfd9148297e647fbe8f1064c5699c925ae0f
Implement HHVM type structure correctness for unknown shape fields

Summary: The type structure now prints and represents shapes with unknown fields correctly. A shape that allows unknown fields is indicated by having a field `allows_unknown_fields=true` in the type structure, and their field list is printed with a following `...`.

Reviewed By: paulbiss

Differential Revision: D4613828

fbshipit-source-id: bc93e41983d3f556843b3fc197ec5ee7f204cf79
hphp/compiler/type_annotation.cpp
hphp/runtime/base/type-structure.cpp
hphp/test/slow/type_annotation/shape_typedef_with_known_and_unknown_fields.php.expect
hphp/test/slow/type_annotation/shape_typedef_with_unknown_fields.php.expect