From 6132f4f7a5bebbb3ec1da2645b3bf2fd7af0721f Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 20 Jul 2015 18:50:35 +0200 Subject: [PATCH] don't require java file copy to be java (EA-70418 - assert: PsiJavaFileBaseImpl.clone) --- .../psi/impl/source/PsiJavaFileBaseImpl.java | 12 ------------ .../com/intellij/psi/impl/source/PsiFileImpl.java | 2 ++ 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java index d0a665a9e2e4..102a452f167a 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java @@ -50,7 +50,6 @@ import com.intellij.util.containers.MostlySingularMultiMap; import com.intellij.util.indexing.IndexingDataKeys; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Collection; @@ -67,17 +66,6 @@ public abstract class PsiJavaFileBaseImpl extends PsiFileImpl implements PsiJava myResolveCache = CachedValuesManager.getManager(myManager.getProject()).createCachedValue(new MyCacheBuilder(this), false); } - @Override - @SuppressWarnings({"CloneDoesntDeclareCloneNotSupportedException"}) - protected PsiJavaFileBaseImpl clone() { - PsiFileImpl clone = super.clone(); - if (!(clone instanceof PsiJavaFileBaseImpl)) { - throw new AssertionError("Java file cloned as text: " + getTextLength() + "; " + getViewProvider()); - } - clone.clearCaches(); - return (PsiJavaFileBaseImpl)clone; - } - @Override public void subtreeChanged() { super.subtreeChanged(); diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java index 63d0fcb9388d..55b22017c6f8 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java @@ -458,6 +458,8 @@ public abstract class PsiFileImpl extends ElementBase implements PsiFileEx, PsiF else if (myOriginalFile != null) { clone.myOriginalFile = myOriginalFile; } + + clone.clearCaches(); return clone; }