-
Notifications
You must be signed in to change notification settings - Fork 58
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
Improved No such method :
traces
#924
Comments
nbrugger-tgm
changed the title
Maintainer enhancment: dump call/parse graph on
Improved Jun 1, 2023
No such method :
No such method :
traces
The first proposal should be a separate PR/issue since its a more "global" issue in ResolvedMethod that would have a broader and possibly breaking impact on core |
mirkosertic
pushed a commit
that referenced
this issue
Jun 15, 2023
mirkosertic
added a commit
that referenced
this issue
Jun 15, 2023
- Added proper exception handling to Maven mojo.
mirkosertic
added a commit
that referenced
this issue
Jun 15, 2023
- Added proper exception handling to Maven mojo.
mirkosertic
added a commit
that referenced
this issue
Jun 15, 2023
- Added proper exception handling to Maven mojo.
First proposal released with https://github.com/mirkosertic/Bytecoder/releases/tag/2023-06-15 |
You can see the new implementation in action, as of #1012. I'll close this ticket for now. Thank you for reporting! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When the parser cant resolve a method, an exception is throw that ends the process and shows the information:
No such method : <method signature>
Proposed improvements:
java/lang/Enum.getDeclaringClass()Ljava/lang/Class
Class Enum.getDeclaredClass()
(or fully qualified if it's worth the clutter)TeaVm does something similar to this
Why?
For maintainers
When a user submits a report such as add
Enum.getDeclaringClass()
support it is very likely that he does not call Enum.declaringValue directly and doesn't actually needs it. But maintainers cannot know which component (EnumSet.of()
in this example above) they need to "substitute" to actually fix the users behaviour. But if he pastes a stack as shown above one can see : "Oh we need EnumSet support" and easily implement it instead of doing a complicated flow analysis "who calls Enum.getDeclaringClass"For users
When users do not have the time to wait for official support they probably just want to replace their call with a new one. (In this example using
new HashSet<>()
instead of Set.of()` because it fixes the problem and they can go on. But currently finding out that "Set.of()" is the problem is quite hard -This process is hard or impossible depening on your skill and available tools (ide, maven, gradle, OS) and could be drasticaly improved
The text was updated successfully, but these errors were encountered: