Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Call Graph [WIP] #605

Draft
wants to merge 21 commits into
base: dev3
Choose a base branch
from

Conversation

Amejonah1200
Copy link

@Amejonah1200 Amejonah1200 commented Sep 25, 2022

recaf

TODO:

  • Call Graph Docking
    • Move to own Window
    • Bundle in one TabPane for Docking
    • Refocus of method (navigation)
  • Method Handles (?)
  • Dynamic methods
  • Fix NPE
  • Support for workspace updates:
    • Add Library
    • Add new class
    • Update Class
    • Delete Class
    • Remove Library
  • LinkerResolver caching
  • Show unresolved calls
  • Threading Issues?
  • Cache ClassInfo?
  • Optimize renaming and other changes that affect this feature
  • Make Toggle for Call Graph

@Amejonah1200
Copy link
Author

This PR is stuck, as it needs an inheritance graph which can resolve methods correctly compliant with JVM behavior.
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.4.3.3

@Amejonah1200
Copy link
Author

Thanks to @xxDark with https://jitpack.io/#xxDark/jlinker , I will try to implement further calls.

@Amejonah1200
Copy link
Author

Amejonah1200 commented Oct 23, 2022

On another note, I will probably switch to a standalone tab/window (dock) instead of it being at the right.

@Col-E
Copy link
Owner

Col-E commented Jun 22, 2023

Migrated to new branch under: https://github.com/Col-E/Recaf/tree/dev4/recaf-api/src/main/java/software/coley/recaf/services/callgraph

Anything seem to be missing?

@Col-E
Copy link
Owner

Col-E commented Jun 23, 2023

image

Feedback from xDark, can address on dev4

image

Feedback from Amejonah

@Amejonah1200 Amejonah1200 marked this pull request as ready for review August 20, 2023 19:17
@Amejonah1200
Copy link
Author

image
There are reports, these colors are not very suitable. If someone can give better ones, I would gladly accept and integrate.

Otherwise, I would put this as ready to be merged.

@Amejonah1200 Amejonah1200 marked this pull request as draft August 29, 2023 11:43
@Amejonah1200
Copy link
Author

Amejonah1200 commented Aug 29, 2023

image
When renaming a method, it slows down. Needs more investigation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants