mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
JavaFileManager -> service
This commit is contained in:
@@ -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();
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user