public function getAutoloadMap()

in src/builders/FactParseScanner.hack [115:148]


  public function getAutoloadMap(): AutoloadMap {
    $facts = \HH\facts_parse(
      $this->root,
      varray($this->paths),
      /* force_hh = */ false,
      /* multithreaded = */ true,
    );
    $facts = self::untypedToShape($facts);

    $classes = dict[];
    $functions = dict[];
    $types = dict[];
    $constants = dict[];
    foreach ($facts as $file => $file_facts) {
      foreach ($file_facts['types'] as $type) {
        $classes[\strtolower($type['name'])] = $file;
      }
      foreach ($file_facts['constants'] as $const) {
        $constants[$const] = $file;
      }
      foreach ($file_facts['functions'] as $func) {
        $functions[\strtolower($func)] = $file;
      }
      foreach ($file_facts['typeAliases'] as $alias) {
        $types[\strtolower($alias)] = $file;
      }
    }
    return dict[
      'class' => $classes,
      'function' => $functions,
      'type' => $types,
      'constant' => $constants,
    ];
  }