Enforce Sealed attributes on enums and enum classes
commit77c55b1f585bc0f395a52fcbf634d12bd87e567f
authorFrancesco Zappa Nardelli <fzn@fb.com>
Tue, 16 Feb 2021 18:02:16 +0000 (16 10:02 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 16 Feb 2021 18:04:42 +0000 (16 10:04 -0800)
tree2362f7ef55b50c045ca14739f7f55799d389749f
parent97d7d7b34eb88f4239121efb7057fde5c6664e71
Enforce Sealed attributes on enums and enum classes

Summary:
This diff enforces Sealed attributes on the enums and enum classes inclusion mechanism.

This is done by adding an `enforceInMaybeSealedParentWhitelist` check in the `setIncludedEnums` function in `class.cpp`.

The same check was already performed by hhbbc, in `index.cpp`, line 1871.

Reviewed By: paulbiss

Differential Revision: D26459458

fbshipit-source-id: ab8db726eca399158cd67bb5c3ee550285d3d159
hphp/runtime/vm/class.cpp
hphp/test/slow/sealed/sealed_enum1.php [new file with mode: 0644]
hphp/test/slow/sealed/sealed_enum1.php.expectf [new file with mode: 0644]
hphp/test/slow/sealed/sealed_enum2.php [new file with mode: 0644]
hphp/test/slow/sealed/sealed_enum2.php.expectf [new file with mode: 0644]
hphp/test/slow/sealed/sealed_enum_classes1.php [new file with mode: 0644]
hphp/test/slow/sealed/sealed_enum_classes1.php.expectf [new file with mode: 0644]
hphp/test/slow/sealed/sealed_enum_classes2.php [new file with mode: 0644]
hphp/test/slow/sealed/sealed_enum_classes2.php.expectf [new file with mode: 0644]