diff --git a/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.java b/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.java index 4de1149fdf35..5118b7936186 100644 --- a/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.java +++ b/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -public class A { +import java.lang.Object; + +public class A extends Object { void foo() { Object myObject = new Object(){}; } diff --git a/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.tree b/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.tree index be549e6fbe1a..192715308699 100644 --- a/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.tree +++ b/java/java-tests/testData/fileStructure/hierarchy/AnonymousHashCode.tree @@ -1,6 +1,3 @@ --A.java +-AnonymousHashCode.java -A - -[hashCode(): void] - -foo(): void - -$1 - hashCode(): int \ No newline at end of file + [hashCode(): int] \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureHierarchyTest.java b/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureHierarchyTest.java index d59fa42c2067..3b7321c8591d 100644 --- a/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureHierarchyTest.java +++ b/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureHierarchyTest.java @@ -33,5 +33,5 @@ public class JavaFileStructureHierarchyTest extends JavaFileStructureTestCase { public void testSimple() throws Exception {checkTree();} public void testAnonymousAsConstantInInterface() throws Exception {checkTree("getA");} - //public void testAnonymousHashCode() throws Exception {checkTree("hash");} + public void testAnonymousHashCode() throws Exception {checkTree("hash");} } diff --git a/platform/platform-api/src/com/intellij/ui/treeStructure/filtered/FilteringTreeStructure.java b/platform/platform-api/src/com/intellij/ui/treeStructure/filtered/FilteringTreeStructure.java index b8b944ff8a46..58c308e46e32 100644 --- a/platform/platform-api/src/com/intellij/ui/treeStructure/filtered/FilteringTreeStructure.java +++ b/platform/platform-api/src/com/intellij/ui/treeStructure/filtered/FilteringTreeStructure.java @@ -67,15 +67,17 @@ public class FilteringTreeStructure extends AbstractTreeStructure { } else { ArrayList nodes = new ArrayList(delegates.length); for (Object d : delegates) { - FilteringNode n = new FilteringNode(node, d); boolean isDuplicate = myDescriptors2Nodes.containsKey(d); if (!isDuplicate) { + FilteringNode n = new FilteringNode(node, d); myDescriptors2Nodes.put(d, n); nodes.add(n); - addToCache(n, isDuplicate); } } myNodesCache.put(node, nodes); + for (FilteringNode n : nodes) { + addToCache(n, false); + } } }