elharo commented on issue #282:
URL:
https://github.com/apache/maven-dependency-analyzer/issues/282#issuecomment-4893003070
**Correction**: Further investigation shows the bug IS reproducible, but
only for non-static inner classes whose outer class has parameterized type
arguments. For example:
```java
public class Outer<T> {
public class Inner { ... }
}
// User implements Supplier<Outer<String>.Inner>
```
javac emits the signature as `Ltest/Outer<Ljava/lang/String;>.Inner;` — the
`.` separator between `Outer` and `Inner` triggers ASM's
`visitInnerClassType(Inner)`, and the old code records just the bare name
`"Inner"`.
The fix is to track the outer class and emit `outer$inner` in
`visitInnerClassType`. Even though `ResultCollector.add` filters `$`-containing
names, this prevents the bogus bare `"Inner"` dependency and the outer class is
already captured by `visitClassType`. A new PR is coming.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]