diff --git a/java/java.graph/src/org/netbeans/modules/java/graph/SearchVisitor.java b/java/java.graph/src/org/netbeans/modules/java/graph/SearchVisitor.java index 87cf0cdd7641..c61f662229a0 100644 --- a/java/java.graph/src/org/netbeans/modules/java/graph/SearchVisitor.java +++ b/java/java.graph/src/org/netbeans/modules/java/graph/SearchVisitor.java @@ -44,7 +44,7 @@ public void setSearchString(String search) { if (root == null) { root = node; } - if (scene.isIncluded(node)) { + if (!path.contains(node) && scene.isIncluded(node)) { GraphNode grNode = scene.getGraphNodeRepresentant(node); if (grNode == null) { return false; @@ -59,7 +59,7 @@ public void setSearchString(String search) { } @Override public boolean endVisit(GraphNodeImplementation node) { - if (scene.isIncluded(node)) { + if (path.peek() == node) { path.pop(); } return true; diff --git a/java/java.module.graph/src/org/netbeans/modules/java/module/graph/DependencyCalculator.java b/java/java.module.graph/src/org/netbeans/modules/java/module/graph/DependencyCalculator.java index e13cc4e9d233..b82c3b8c34b7 100644 --- a/java/java.module.graph/src/org/netbeans/modules/java/module/graph/DependencyCalculator.java +++ b/java/java.module.graph/src/org/netbeans/modules/java/module/graph/DependencyCalculator.java @@ -18,7 +18,7 @@ */ package org.netbeans.modules.java.module.graph; -import com.sun.source.tree.Tree; +import com.sun.source.tree.ModuleTree; import com.sun.source.util.TreePath; import java.io.IOException; import java.util.ArrayList; @@ -31,13 +31,10 @@ import java.util.Map; import java.util.stream.Collectors; import javax.lang.model.element.ModuleElement; -import javax.tools.JavaFileObject; import org.netbeans.api.annotations.common.NonNull; -import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.java.source.ClasspathInfo; import org.netbeans.api.java.source.JavaSource; import org.openide.filesystems.FileObject; -import org.openide.filesystems.URLMapper; import org.openide.util.Exceptions; import org.openide.util.Parameters; @@ -81,9 +78,9 @@ private void init() { try { js.runUserActionTask((cc)-> { cc.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED); - final List decls = cc.getCompilationUnit().getTypeDecls(); - final ModuleElement me = !decls.isEmpty() && decls.get(0).getKind() == Tree.Kind.MODULE ? - (ModuleElement) cc.getTrees().getElement(TreePath.getPath(cc.getCompilationUnit(), decls.get(0))) : + final ModuleTree moduleTree = cc.getCompilationUnit().getModule(); + final ModuleElement me = moduleTree != null ? + (ModuleElement) cc.getTrees().getElement(TreePath.getPath(cc.getCompilationUnit(), moduleTree)) : null; if (me != null) { final Map mods = new LinkedHashMap<>();