Tags: shayne-fletcher/hhvm
Tags
Better error messages for non-object access Summary: The non_object_member error would previously refer to a type constant as a property because of the binary ~is_method argument. There's already a polymorphic variant `class_member_kind` used for static members that is used elsewhere in Errors, so I extended it to cover methods and properties and used that. Reviewed By: losvald Differential Revision: D26120916 fbshipit-source-id: 31b8d254f38b21456ab1fdef494c549357388a53
Use hhi for tests instead of copying definitions to all tests Summary: Use the (still needs to be landed) `--extra-builtin` flag to `hh_single_type_check` to support expression tree defs for tests rather than the python script to copy the defs into all the tests. Reviewed By: Wilfred Differential Revision: D25767223 fbshipit-source-id: 0d6960c3a0517b8ffd2038acca838cf1eef58497
Dynamically generate bitmaps for co-effects encoding Summary: This diff converts encoding of co-effects in the runtime from an explicitly listed enum to dynamically generated bitfield. With this new encoding, we are able to express multitude of new configurations including `A, B` and `A & B` for any co-effect `A` and co-effect `B`. When the user specifies a co-effect in `.static_coeffects` hhas directive, we convert this co-effect into a coordinate system of capabilities. This mapping is available as `CoeffectsConfig::s_coeffects_to_capabilities`. During startup based on graphs of all capabilities given in a coeffects config file, we generate encodings for all capabilities. At the time of this diff, the current encodings are as follows: ``` rx_defaults : 0000000000000000 rx_local : 0000000000000001 rx_shallow : 0000000000000010 rx : 0000000000000011 rx_pure : 0000000000000111 cipp_defaults : 0000000000000000 cipp_local : 0000000000001000 cipp_shallow : 0000000000010000 cipp : 0000000000011000 cipp_global : 0000000000111000 cipp_pure : 0000000001111000 ``` Note that the above is generated dynamically and doesn't need to remain as is. Reviewed By: jano Differential Revision: D25857177 fbshipit-source-id: 383f87affa13b7c7a255bb54132891a274f6758e
Fix old array() syntax in .hhi docstrings Summary: We don't support `array()` literal syntax any more, so update docstrings to match. Reviewed By: shiqicao Differential Revision: D26059104 fbshipit-source-id: 11a5de9d5eb0a2248d8d38a93fea94355e4ae12f
Enum Supertyping [ remove UnstableFeature gating and add a global opt… …ion ] Summary: In preparation for the Complete stage, this diff removes the UnstableFeature gating for enum supertyping and adds a global option `--enable-sound-dynamic`. Test files are updated to remove the UnstableFeature flag and .exp files are updated as positions changed. Reviewed By: vsiles Differential Revision: D25960056 fbshipit-source-id: e24db937f3c7846f4586436050f93f432677b149
PreviousNext