Add conflicting concrete typeconst check, change class const map to not consider synthesized members
Summary:
In
D35886138 (https://github.com/facebook/hhvm/commit/
87e647e38f1bba1d3cea52836c9bdb443e91da7b) I added a check for class const conflicts that covered type consts via their backing TypeStructure consts. However, these constants are marked synthesized by decl.
The diff did not filter synthesized consts from the map, which caused errors in hierarchies that resemble the test case. Filtering out synthesized constants therefore caused loss of errors on the TypeStructure constants.
This just adds the same const check for type constants. I looked into trying to abstract away the common bits, but the `class_const` and `typeconst` records are just slightly different enough to where the abstracted version is as verbose as this one.
Reviewed By: CatherineGasnier
Differential Revision:
D36262334
fbshipit-source-id:
d10f21096daac4f706002dfcf5fd57bae7b46974