Expose symbol getters to userspace
Summary:
The WWW push process calls into `FlibAutoloadMap::getClassMap()`:
https://www.internalfb.com/intern/diffusion/WWW/browsefile/master/scripts/facts/make_build_artifacts.php?commit=
1002505285&lines=57%2C65%2C73%2C81%2C24%2C21-23
I'm not planning on totally overhauling the WWW push process while shipping native Facts, so we need to implement these operations with native Facts.
This diff takes the functionality added in
D23084739 and exposes it to userland via four new builtin functions:
```
/**
* Return all symbols defined in the repo, as a dict mapping each symbol
* name to the path where the symbol lives in the repo.
*
* If a symbol is defined in more than one path, one of the paths defining the
* symbol will be chosen in an unspecified manner.
*/
function all_types(): dict<classname<mixed>, string>;
function all_functions(): dict<string, string>;
function all_constants(): dict<string, string>;
function all_type_aliases(): dict<string, string>;
```
Reviewed By: billf
Differential Revision:
D23088267
fbshipit-source-id:
a918b14de41af78dbe5050af14ed61cac89ef6bd