-
-
Notifications
You must be signed in to change notification settings - Fork 280
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
Possible bug inspecting com.google.common.collect.AbstractMapBasedMultimap #660
Comments
This is a very strange situation. Here is one example of a method that exhibits this problem: Class:
Constructor method descriptor (has 4 parameters):
Method signature for the same constructor (has 3 parameters):
I'll keep digging... |
What seems to be going on here is that the compiler added an implicit I'll change ClassGraph to use the method signature whenever it is available, ignoring the method descriptor, only falling back to the method descriptor if the method is non-generic (has no method signature). This won't solve the problem for every case, and it will be basically impossible to get this right in every case where the compiler has done something egregious like this, because of the critical omission of information about whether extra parameters have been prepended. |
This should be fixed in 4.8.143. Thank you for the bug report, and for providing a repro project! |
Tested with ClassGraph 4.8.141. See attached repro code.
typeSignatureParamTypes.size() > typeDescriptorParamTypes.size() for method com.google.common.collect.AbstractMapBasedMultimap$RandomAccessWrappedList.<init>
The error is reproducible with
guava-28.2
and does not appear withguava-31.0.1
. I'm assuming ClassGraph shouldn't error out even if there is some issue with the class being inspected.Project
Log Files
I found a single reference to a similar issue here: openrewrite/rewrite#1312
The text was updated successfully, but these errors were encountered: