Embed Provider_context.t in Typing_classes_heap.t
Summary:
When calling the `Cls.{construct,method,smethod,prop,sprop}` accessors on `Typing_classes_heap.t` we will need a `Provider_context.t` if we want to access the shallow decl in the event that the member signature was evicted from the member heaps/worker cache.
There are two ways to do this:
1. The approach this diff takes: embed a `Provider_context.t` in each `Typing_class_heap.t`
2. Have all `Cls.{construct,method,...}` take an additional `ctx` argument and fixup all callsites.
Unfortunately, (2) is not cleanly feasible. Zoncolan abstracts over Hack's decl provider and none of the callsites have access to a `Provider_context.t`. Refactoring this would be hellish.
For now the embedded `ctx` is not yet used. See next diffs
Reviewed By: CatherineGasnier
Differential Revision:
D33897157
fbshipit-source-id:
d89e515e3f08a26203300e02cce0c7a6ce15c8b0