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
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.
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.classandto/lombok/launch/AnnotationProcessorHider.classdon't have corresponding source file mapping.The source side doesn't have
delombok/ant/Tasks.javaorlaunch/AnnotationProcessorHider.javaHowever, there are
delombok/ant/DelombokTask.javaandlaunch/AnnotationProcessor.javain the source sidewhere
delombok/ant/DelombokTask.javahasTasksas its class nameand
launch/AnnotationProcessor.javahasAnnotationProcessorHideras its class namewhich 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.