Skip to content

Large unreviewable swh-graph refactor

I don't expect this to be entirely reviewed, but it's basically doing this:

  1. reorganizing a ton of classes in better folders
  2. inlining classes that are only used at a single place
  3. replacing wrappers by more idiomatic versions like the Neighbors class
  4. rewriting the Graph class to avoid passing booleans around on whether to work on the transpose version or not

It simplifies the java api a lot, e.g:

before: algo(graph, useTransposed=True), after: algo(graph.transpose()) (same performance) before: new Neighbors(graph, allowedEdges, id), after: graph.successors(id, allowedEdges)

Test Plan

make test


Migrated from D3878 (view on Phabricator)

Merge request reports