Do not use tc_need_init and tc_deferred_init_members when shallow_class_decl is enabled
Summary: Now that `Typing_classes_heap.lazy_class_type` provides lazy lookup of class constructors from shallow declarations, it is possible to determine whether a class has members which need initialization without using the folded `class_type`. This diff removes reads of `tc_need_init` and `tc_deferred_init_members`, bits of derived information about the class constructor, when shallow_class_decl is enabled. The module deriving the set of deferred init members, Decl_init_check, is duplicated (and slightly modified) as Typing_deferred_members, since it is now invoked per-file by Typing (via NastInitCheck) rather than done ahead of time during eager decl.
Reviewed By: arxanas
Differential Revision:
D13571855
fbshipit-source-id:
edfbcbd65b48b174f7376538a919b332e4dd3137