From 55de2fc2b2efcc43ef5f9d45a84a74139b858271 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 14 Oct 2016 17:59:45 +0200 Subject: [PATCH] simplify restoreFromStubIndex --- .../stubsHierarchy/impl/AnchorRepository.java | 16 ++-------------- .../src/com/intellij/psi/PsiAnchor.java | 16 +--------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/AnchorRepository.java b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/AnchorRepository.java index 2f94d2b3e8a0..cd3a8bccf079 100644 --- a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/AnchorRepository.java +++ b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/AnchorRepository.java @@ -15,7 +15,6 @@ */ package com.intellij.psi.stubsHierarchy.impl; -import com.intellij.lang.ASTNode; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.newvfs.persistent.PersistentFS; @@ -25,7 +24,6 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.psi.impl.source.PsiFileImpl; import com.intellij.psi.impl.source.PsiFileWithStubSupport; -import com.intellij.psi.stubs.StubBase; import com.intellij.psi.stubs.StubElement; import com.intellij.psi.stubs.StubTree; import com.intellij.util.ObjectUtils; @@ -108,9 +106,7 @@ class AnchorRepository { private static PsiElement restoreFromStubIndex(PsiFileWithStubSupport fileImpl, int index) { StubTree tree = fileImpl.getStubTree(); - - boolean foreign = tree == null; - if (foreign) { + if (tree == null) { if (fileImpl instanceof PsiFileImpl) { tree = ((PsiFileImpl)fileImpl).calcStubTree(); } @@ -123,16 +119,8 @@ class AnchorRepository { if (index >= list.size()) { return null; } - StubElement stub = list.get(index); - if (foreign) { - final PsiElement cachedPsi = ((StubBase)stub).getCachedPsi(); - if (cachedPsi != null) return cachedPsi; - - final ASTNode ast = fileImpl.findTreeForStub(tree, stub); - return ast != null ? ast.getPsi() : null; - } - return stub.getPsi(); + return ((StubElement)list.get(index)).getPsi(); } } diff --git a/platform/core-impl/src/com/intellij/psi/PsiAnchor.java b/platform/core-impl/src/com/intellij/psi/PsiAnchor.java index a3d17f3c6d2c..3e3b6ca9bca1 100644 --- a/platform/core-impl/src/com/intellij/psi/PsiAnchor.java +++ b/platform/core-impl/src/com/intellij/psi/PsiAnchor.java @@ -16,7 +16,6 @@ package com.intellij.psi; -import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; @@ -407,8 +406,7 @@ public abstract class PsiAnchor { } StubTree tree = fileImpl.getStubTree(); - boolean foreign = tree == null; - if (foreign) { + if (tree == null) { if (fileImpl instanceof PsiFileImpl) { // Note: as far as this is a realization of StubIndexReference fileImpl#getContentElementType() must be instance of IStubFileElementType tree = ((PsiFileImpl)fileImpl).calcStubTree(); @@ -431,18 +429,6 @@ public abstract class PsiAnchor { return null; } - if (foreign) { - final PsiElement cachedPsi = ((StubBase)stub).getCachedPsi(); - if (cachedPsi != null) return cachedPsi; - - final ASTNode ast = fileImpl.findTreeForStub(tree, stub); - if (ast != null) { - return ast.getPsi(); - } - - if (throwIfNull) throw new AssertionError("No AST for stub"); - return null; - } return stub.getPsi(); }