Warm state for a batch of links: preload_http for http(s); for file, preload_file then, when hash is non-empty and not a #L line-range, tree_factory + tree.parse so file_ast can resolve AST path fragments.