From feebad1f9d38da8d2459ec56a9204df777f99343 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 3 Aug 2011 22:00:25 +0400 Subject: [PATCH] scopes: wrong file parent: check if cached directory is parent for current file --- .../intellij/packageDependencies/ui/TreeModelBuilder.java | 5 +++++ .../packageDependencies/ui/FileTreeModelBuilder.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/java/java-impl/src/com/intellij/packageDependencies/ui/TreeModelBuilder.java b/java/java-impl/src/com/intellij/packageDependencies/ui/TreeModelBuilder.java index 25c226955110..660215a8a929 100644 --- a/java/java-impl/src/com/intellij/packageDependencies/ui/TreeModelBuilder.java +++ b/java/java-impl/src/com/intellij/packageDependencies/ui/TreeModelBuilder.java @@ -169,9 +169,14 @@ public class TreeModelBuilder { countFiles(project); myFileIndex.iterateContent(new ContentIterator() { PackageDependenciesNode lastParent = null; + VirtualFile dir = null; public boolean processFile(VirtualFile fileOrDir) { if (!fileOrDir.isDirectory()) { + if (lastParent != null && dir != fileOrDir.getParent()) { + lastParent = null; + } lastParent = buildFileNode(fileOrDir, lastParent); + dir = fileOrDir.getParent(); } else { lastParent = null; } diff --git a/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileTreeModelBuilder.java b/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileTreeModelBuilder.java index bc52e51535d5..b1d8a63f55de 100644 --- a/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileTreeModelBuilder.java +++ b/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileTreeModelBuilder.java @@ -528,10 +528,15 @@ public class FileTreeModelBuilder { private class MyContentIterator implements ContentIterator { PackageDependenciesNode lastParent = null; + VirtualFile dir; public boolean processFile(VirtualFile fileOrDir) { if (!fileOrDir.isDirectory()) { + if (lastParent != null && dir != fileOrDir.getParent()) { + lastParent = null; + } lastParent = buildFileNode(fileOrDir, lastParent); + dir = fileOrDir.getParent(); } else { lastParent = null; }