Skip to content

Commit

Permalink
Support strongly connected components in testutils.Fingerprinter.
Browse files Browse the repository at this point in the history
Made fingerprinting of cyclic graphs more robust and consistent. Strongly
Connected Components (SCCs) are now correctly identified and assigned
unique fingerprints regardless of traversal order by determining canonical
roots. This allows for more accurate comparison of graph structures.

* Extracts the shared traversal code from Fingerprinter and Dumper into GraphTraverser.
* Makes Fingerprinter parameter order consistent with Dumper, registry then object.

PiperOrigin-RevId: 702027743
Change-Id: I6dc02c1af8920594dbe602ebc15b96acda96b7c7
  • Loading branch information
aoeui authored and copybara-github committed Dec 2, 2024
1 parent 7e4fb41 commit 3831e85
Show file tree
Hide file tree
Showing 8 changed files with 1,138 additions and 513 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ DUMPER_SOURCES = [
"Dumper.java",
"FieldInfoCache.java",
"Fingerprinter.java",
"GraphDataCollector.java",
"GraphTraverser.java",
]

java_library(
Expand Down
Loading

0 comments on commit 3831e85

Please sign in to comment.