aboutcode-org / aboutcode-org/scancode.io
Compiled .class May Differ from Source Filename - map_deploy_to_devel (Java)
- Dominant language
- Python
- Stars
- 215
- Forks
- 203
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 6
Description
Although uncommon, there are cases where the name of a compiled .class file does not directly match its source filename.
Use case
----------
Project: lombok-1.18.42
source: https://repo1.maven.org/maven2/org/projectlombok/lombok/1.18.42/lombok-1.18.42-sources.jar
binary: https://repo1.maven.org/maven2/org/projectlombok/lombok/1.18.42/lombok-1.18.42.jar
The current D2D indicates the files `to/lombok/delombok/ant/Tasks.class` and `to/lombok/launch/AnnotationProcessorHider.class` don't have corresponding source file mapping.
The source side doesn't have `delombok/ant/Tasks.java` or `launch/AnnotationProcessorHider.java`
However, there are
`delombok/ant/DelombokTask.java` and `launch/AnnotationProcessor.java` in the source side
where
`delombok/ant/DelombokTask.java` has `Tasks` as its class name
```
class Tasks {
```
and `launch/AnnotationProcessor.java` has `AnnotationProcessorHider` as its class name
```
class AnnotationProcessorHider {
```
which imply these are the sources for the above listed .class files.
In other words, we may need to extract the class name from the source file to establish the D2D mapping, rather than relying solely on file base name comparison.
Contributor guide
Assessment
This issue has not been assessed yet.