Remove anonymous class ids from hhas.
commitcacdda822a7ddfc1eb421d60733f1c64fcc0403d
authorAlexey Toptygin <alexeyt@fb.com>
Wed, 28 Mar 2018 23:46:38 +0000 (28 16:46 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 28 Mar 2018 23:53:42 +0000 (28 16:53 -0700)
treeb9c05d727f2786aedb20e1956d4f37dc87d9fb9d
parent36c9f8c122318ca2c0cde928261cd5c0c4bf8edd
Remove anonymous class ids from hhas.

Summary:
We had the unique anonymous class id in the hhas format, but we dindn't use it: as.cpp would unconditionally renumber them.
hphpc and hackc would not always produce the same ids, so semdiff had to ignore the differences, but it was only ignoring these differences on closure classes, not proper anonymous classes.
Simplify things by not writing these unused ids from either hphpc or hackc, make the ocaml demangler forget about them, and make as.cpp reject units where they're present.

Reviewed By: oulgen

Differential Revision: D7420745

fbshipit-source-id: 92fc29cfa4d18fef4cb9b850eaec2cb86e5b7c08
hphp/hack/src/hhbc/closure_convert.ml
hphp/hack/src/hhbc/hhbc_string_utils.ml
hphp/runtime/vm/as.cpp
hphp/runtime/vm/disas.cpp
hphp/test/quick/asm_extnames.hhas
hphp/test/slow/anon_class/invalid_class_name.hhas [new file with mode: 0644]
hphp/test/slow/anon_class/invalid_class_name.hhas.expectf [new file with mode: 0644]
hphp/test/slow/closure/invalid-class-name.hhas [new file with mode: 0644]
hphp/test/slow/closure/invalid-class-name.hhas.expectf [new file with mode: 0644]