From 63cb9ab4ec6b5cff90cd0dc3ce97f7ac3ccaf131 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Fri, 30 Dec 2011 15:14:30 +0400 Subject: [PATCH] Need VirtualFileManager in core for findFileByUrl() --- .../com/intellij/core/CoreEnvironment.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/platform/core-impl/src/com/intellij/core/CoreEnvironment.java b/platform/core-impl/src/com/intellij/core/CoreEnvironment.java index 32e667e3c046..76c4211304f6 100644 --- a/platform/core-impl/src/com/intellij/core/CoreEnvironment.java +++ b/platform/core-impl/src/com/intellij/core/CoreEnvironment.java @@ -20,6 +20,7 @@ import com.intellij.lang.impl.PsiBuilderFactoryImpl; import com.intellij.mock.*; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.impl.DocumentImpl; import com.intellij.openapi.extensions.ExtensionPoint; @@ -34,9 +35,13 @@ import com.intellij.openapi.roots.FileIndexFacade; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.StaticGetter; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.vfs.VirtualFileManager; +import com.intellij.openapi.vfs.VirtualFileSystem; import com.intellij.openapi.vfs.encoding.EncodingRegistry; +import com.intellij.openapi.vfs.impl.VirtualFileManagerImpl; import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem; import com.intellij.openapi.vfs.local.CoreLocalFileSystem; +import com.intellij.openapi.vfs.newvfs.FileSystemPersistence; import com.intellij.psi.PsiFileFactory; import com.intellij.psi.PsiManager; import com.intellij.psi.impl.*; @@ -53,6 +58,7 @@ import com.intellij.psi.util.CachedValuesManager; import com.intellij.psi.util.PsiModificationTracker; import com.intellij.util.CachedValuesManagerImpl; import com.intellij.util.Function; +import com.intellij.util.messages.impl.MessageBusImpl; import org.picocontainer.MutablePicoContainer; import java.lang.reflect.Modifier; @@ -95,6 +101,22 @@ public class CoreEnvironment { } }, null)); + registerComponentInstance(appContainer, VirtualFileManager.class, + new VirtualFileManagerImpl(new VirtualFileSystem[] {myLocalFileSystem, myJarFileSystem}, + new MessageBusImpl(myApplication, null), + new FileSystemPersistence() { + @Override + public void refresh(boolean asynchronous, Runnable postAction, ModalityState modalityState) { + } + + @Override + public int getCheapFileSystemModificationCount() { + return 0; + } + } + ) + ); + myApplication.registerService(DefaultASTFactory.class, new CoreASTFactory()); myApplication.registerService(PsiBuilderFactory.class, new PsiBuilderFactoryImpl()); myApplication.registerService(ReferenceProvidersRegistry.class, new MockReferenceProvidersRegistry());