Populate class member caches for TypingDeclProvider
Summary: A typing `Class` (c.f. the `Eager` variant of `Typing_classes_heap.class_t`) contains a folded decl and a cache of class members. The purpose of the class-member-cache is to abstract over the fact that class elements in a folded decl don't contain their type (in hh_server, the type is stored on a separate heap, to reduce overfetching and duplication). When asked for a class member, the typing `Class` checks its member-cache. If not present, it looks up the type of the member using the FoldedDeclProvider, and populates its member-cache with a new `ClassElt` containing that type and any other metadata from the `FoldedElt`.
Reviewed By: shayne-fletcher
Differential Revision:
D34061596
fbshipit-source-id:
2746b4bfca10d1398424b36104f78dcd137b6203