improve members_from_class (register constructor dep)
commitc15dd596274fc3241d7b3fde70cc68d758dea156
authorShayne Fletcher <shaynefletcher@fb.com>
Wed, 23 Mar 2022 01:37:53 +0000 (22 18:37 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 23 Mar 2022 01:37:53 +0000 (22 18:37 -0700)
tree41b720acd09905b68ae326d44677e58fffc6b76a
parentd02d9a38fc50979db21a78ffac43d72daf6d052b
improve members_from_class (register constructor dep)

Summary:
- this diff set out with the intent of registering the dependency of a class on its parent constructor and achieves that i think
- along the way i appear to have discovered missing logic for applying substitutions for type & class constants in `members_from_class` (most of) which i filled in (and left a TODO on a bit more)
- the return type of `DependencyRegistrar::add_dependency` induced a need to make many of the functions in `inherit.rs` which did compute `()` now compute `Result<()>` (which though unexpected is i guess is a good thing)

Differential Revision: D35050144

fbshipit-source-id: 69e00ec38bf8fabb3357f5f0438f3b4fc6909722
hphp/hack/src/rupro/lib/folded_decl_provider/fold.rs
hphp/hack/src/rupro/lib/folded_decl_provider/inherit.rs
hphp/hack/src/rupro/lib/folded_decl_provider/provider.rs