aboutcode-org / aboutcode-org/scancode.io

Compiled .class May Differ from Source Filename - map_deploy_to_devel (Java)

未关闭
#1,993 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
215
派生
203
平均合并
4 天 8 小时
30 天内合并 PR
6

描述

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.

Image

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.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。