Skip to content
This repository has been archived by the owner on Dec 1, 2024. It is now read-only.

Support HHVM/Hack 3.29, add migrations

Compare
Choose a tag to compare
@fredemmott fredemmott released this 18 Oct 22:16

This release:

  • supports and requires HHVM/Hack 3.29
  • supports typed user attributes, including 'unused use statement' linter fixes
  • marks EditableList::fromItems() as <<__Deprecated>>, in favor of EditableList::createNonEmptyListOrMissing() which is equivalent, but clearer about the behavior
  • adds hhast-migrate --is-refinement, replacing is_int() with is int and similar expressions.

This release also includes hhast-migrate --ltgt-to-ne and --hhvm-3.28-to-3.29, replacing <> with !=, which was added in v3.28.7

There have been several changes to the AST in this release; the most significant are:

  • classes might not have a name (if the file being parsed is PHP; anonymous classes are not supported in Hack)
  • attributes are no longer a unique node type; instead, <<Foo>> is a constructor call to Foo (this is part of the 'typed user attributes' feature)