Skip to content

Commit

Permalink
Merge pull request #7363 from mbien/fix-imports-fix_delivery
Browse files Browse the repository at this point in the history
ComputeImports: fix package computation.
  • Loading branch information
ebarboni committed May 14, 2024
2 parents 88a115c + 56b02de commit 168c834
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -596,9 +596,20 @@ public Void visitIdentifier(IdentifierTree tree, Map<String, Object> p) {
}
}

if (type != null && type.getKind() == TypeKind.PACKAGE) {
if (type.getKind() == TypeKind.PACKAGE) {
TreePath parent = getCurrentPath().getParentPath();
Element fullPackage = el;
while (parent != null) {
Element parentElement = info.getTrees().getElement(parent);
if (parentElement != null && parentElement.getKind() == ElementKind.PACKAGE) {
fullPackage = parentElement;
parent = parent.getParentPath();
} else {
break;
}
}
//does the package really exists?
String s = ((PackageElement) el).getQualifiedName().toString();
String s = ((PackageElement) fullPackage).getQualifiedName().toString();
Element thisPack = info.getTrees().getElement(new TreePath(info.getCompilationUnit()));
ModuleElement module = thisPack != null ? info.getElements().getModuleOf(thisPack) : null;
PackageElement pack = module != null ? info.getElements().getPackageElement(module, s) : info.getElements().getPackageElement(s);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,13 @@
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
Expand Down Expand Up @@ -308,6 +306,26 @@ public void testRecordImport() throws Exception {
"");
}

// https://github.com/apache/netbeans/issues/7073
public void testDontImportRootPackageMatchingMember() throws Exception {
doTest("test/Test",
"11",
Arrays.asList(
new FileData("test/Test.java",
"package test;\n" +
"import java.util.List;\n" +
"public class Test {\n" +
" public static class SomeClass {\n" +
" public static Object java(java.util.Map<String, String> value) {\n" +
" return value;\n" +
" }\n" +
" }\n" +
"}")
),
"",
"");
}

private void prepareTest(String capitalizedName, String sourceLevel, Iterable<FileData> files) throws Exception {
FileObject workFO = FileUtil.toFileObject(getWorkDir());

Expand Down

0 comments on commit 168c834

Please sign in to comment.