JavaFileManager -> service

This commit is contained in:
peter
2014-02-14 16:18:28 +01:00
parent d93593a123
commit 8ff3c3316c
5 changed files with 9 additions and 31 deletions
@@ -16,6 +16,9 @@
package com.intellij.psi.impl.file.impl;
import com.intellij.ide.startup.StartupManagerEx;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.psi.impl.PsiManagerEx;
@@ -26,19 +29,13 @@ import com.intellij.util.messages.MessageBus;
*/
public class JavaFileManagerImpl extends JavaFileManagerBase {
public JavaFileManagerImpl(final PsiManagerEx manager, final ProjectRootManager projectRootManager, MessageBus bus,
final StartupManager startupManager) {
super(manager, projectRootManager, bus);
startupManager.registerStartupActivity(
new Runnable() {
@Override
public void run() {
initialize();
}
}
);
if (!((StartupManagerEx)startupManager).startupActivityPassed() && !ApplicationManager.getApplication().isUnitTestMode()) {
Logger.getInstance("#com.intellij.psi.impl.file.impl.JavaFileManagerImpl")
.error("Access to psi files should be performed only after startup activity");
}
}
}
@@ -49,7 +49,6 @@ public abstract class JavaFileManagerBase implements JavaFileManager, Disposable
private final PsiManagerEx myManager;
private final ProjectRootManager myProjectRootManager;
private volatile Set<String> myNontrivialPackagePrefixes = null;
private boolean myInitialized = false;
private boolean myDisposed = false;
private final PackageIndex myPackageIndex;
protected final MessageBusConnection myConnection;
@@ -76,11 +75,6 @@ public abstract class JavaFileManagerBase implements JavaFileManager, Disposable
});
}
@Override
public void initialize() {
myInitialized = true;
}
@Override
public void dispose() {
myDisposed = true;
@@ -136,10 +130,6 @@ public abstract class JavaFileManagerBase implements JavaFileManager, Disposable
@Override
@Nullable
public PsiClass findClass(@NotNull String qName, @NotNull GlobalSearchScope scope) {
if (!myInitialized) {
LOG.error("Access to psi files should be performed only after startup activity");
return null;
}
LOG.assertTrue(!myDisposed);
if (CommonClassNames.JAVA_LANG_OBJECT.equals(qName)) { // optimization
@@ -198,10 +198,6 @@ public class CoreJavaFileManager implements JavaFileManager {
return Collections.emptyList();
}
@Override
public void initialize() {
}
public void addToClasspath(VirtualFile root) {
myClasspath.add(root);
}
@@ -38,5 +38,4 @@ public interface JavaFileManager {
Collection<String> getNonTrivialPackagePrefixes();
void initialize();
}
+2 -6
View File
@@ -29,12 +29,6 @@
<loadForDefaultProject/>
</component>
<component>
<interface-class>com.intellij.psi.impl.file.impl.JavaFileManager</interface-class>
<implementation-class>com.intellij.psi.impl.file.impl.JavaFileManagerImpl</implementation-class>
<loadForDefaultProject/>
</component>
<component>
<implementation-class>com.intellij.codeInsight.daemon.impl.PostHighlightingPassFactory</implementation-class>
</component>
@@ -370,6 +364,8 @@
serviceImplementation="com.intellij.ide.util.TreeClassChooserFactoryImpl"/>
<projectService serviceInterface="com.intellij.psi.JavaPsiFacade"
serviceImplementation="com.intellij.psi.impl.JavaPsiFacadeImpl"/>
<projectService serviceInterface="com.intellij.psi.impl.file.impl.JavaFileManager"
serviceImplementation="com.intellij.psi.impl.file.impl.JavaFileManagerImpl"/>
<projectService serviceInterface="com.intellij.codeInsight.guess.GuessManager"
serviceImplementation="com.intellij.codeInsight.guess.impl.GuessManagerImpl"/>
<projectService serviceInterface="com.intellij.psi.impl.source.resolve.JavaResolveCache"