diff --git a/java/java-tests/testSrc/com/intellij/util/indexing/FileBasedIndexTest.java b/java/java-tests/testSrc/com/intellij/util/indexing/FileBasedIndexTest.java new file mode 100644 index 000000000000..426afcbc7ad0 --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/util/indexing/FileBasedIndexTest.java @@ -0,0 +1,18 @@ +package com.intellij.util.indexing; + +import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; + +/** + * @author Dmitry Avdeev + * Date: 5/23/13 + */ +public class FileBasedIndexTest extends LightCodeInsightFixtureTestCase { + + public void testSurviveOnFileTypeChange() throws Exception { + myFixture.configureByText("Foo.java", "class Foo { String bar; }"); + myFixture.testHighlighting(); + FileTypeIndexTest.addAndRemoveFileType(); + myFixture.configureByText("Bar.java", "class Bar { String bar; }"); + myFixture.testHighlighting(); + } +} diff --git a/platform/lang-impl/src/com/intellij/psi/stubs/StubUpdatingIndex.java b/platform/lang-impl/src/com/intellij/psi/stubs/StubUpdatingIndex.java index e43d8f7304c3..c1a8edda1339 100644 --- a/platform/lang-impl/src/com/intellij/psi/stubs/StubUpdatingIndex.java +++ b/platform/lang-impl/src/com/intellij/psi/stubs/StubUpdatingIndex.java @@ -35,7 +35,6 @@ import org.jetbrains.annotations.NotNull; import java.io.DataInput; import java.io.DataOutput; -import java.io.File; import java.io.IOException; import java.util.*; import java.util.concurrent.Callable; @@ -405,8 +404,8 @@ public class StubUpdatingIndex extends CustomImplementationFileBasedIndexExtensi } } - File dir= IndexInfrastructure.getStubVersionsDirectory(); - if (dir.exists()) dir.delete(); + //File dir= IndexInfrastructure.getStubVersionsDirectory(); + //if (dir.exists()) dir.delete(); super.clear(); } finally { diff --git a/platform/lang-impl/src/com/intellij/util/indexing/IndexInfrastructure.java b/platform/lang-impl/src/com/intellij/util/indexing/IndexInfrastructure.java index d241861d0933..17349de3dee6 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/IndexInfrastructure.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/IndexInfrastructure.java @@ -74,10 +74,6 @@ public class IndexInfrastructure { return indexDir; } - public static File getStubVersionsDirectory() { - return new File(getIndexRootDir(StubUpdatingIndex.INDEX_ID), STUB_VERSIONS); - } - private static volatile long ourLastStamp; // ensure any file index stamp increases public static synchronized void rewriteVersion(final File file, final int version) throws IOException { diff --git a/platform/platform-tests/testSrc/com/intellij/psi/search/FileTypeIndexTest.java b/platform/platform-tests/testSrc/com/intellij/util/indexing/FileTypeIndexTest.java similarity index 92% rename from platform/platform-tests/testSrc/com/intellij/psi/search/FileTypeIndexTest.java rename to platform/platform-tests/testSrc/com/intellij/util/indexing/FileTypeIndexTest.java index 46f46358affc..7456fa6eae3c 100644 --- a/platform/platform-tests/testSrc/com/intellij/psi/search/FileTypeIndexTest.java +++ b/platform/platform-tests/testSrc/com/intellij/util/indexing/FileTypeIndexTest.java @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.psi.search; +package com.intellij.util.indexing; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.fileTypes.ex.FakeFileType; import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.search.FileTypeIndex; import com.intellij.testFramework.PlatformTestCase; import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase; import org.jetbrains.annotations.NotNull; @@ -35,6 +36,10 @@ public class FileTypeIndexTest extends LightPlatformCodeInsightFixtureTestCase { } public void testAddFileType() throws Exception { + addAndRemoveFileType(); + } + + static void addAndRemoveFileType() { FileType foo = new FakeFileType() { @Override public boolean isMyFileType(VirtualFile file) {