INRIA / INRIA/spoon

[Bug] Erroenous AST for type in a Jigsaw module

Open
#4,746 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2k
Forks
392
Avg merge
11h 24m
Merged PRs (30d)
36

Description

**Describe the bug**
In short, calling CtElement

#getParent(P) using as a parameter CtModule.class always returns the unnamed module even when using types such as String that are definitely in a valid jigsaw module. You can find an example below and various snippets I tried.

**To Reproduce**

Input:
```java
public class TestInput {
private static final String ABC = String.valueOf("");
}
```

Processing with Spoon:
```java
public class FieldTransformer extends AbstractProcessor> {
@Override
public boolean isToBeProcessed(CtField element) {
return true;
}

@Override
public void process(CtField element) {
if (element.getAssignment() == null) {
return;
}

element.getParent(CtModule.class); // Unnamed module
element.getType().getParent(CtModule.class); // Unnamed module
element.getType().getPackage().getParent(CtModule.class); // Unnamed module
}
}
```

* OS: Windows 11
* JDK: openjdk version "16" 2021-03-16
* Spoon version: 10.2.0-beta-10

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.