JavaCoreApplicationEnvironment: more extensibility

This commit is contained in:
Evgeny Pasynkov
2012-11-29 12:31:43 +01:00
parent a1430705e3
commit 69a429ce80
@@ -69,7 +69,7 @@ public class JavaCoreApplicationEnvironment extends CoreApplicationEnvironment {
myApplication.registerService(PsiPackageImplementationHelper.class, new CorePsiPackageImplementationHelper());
myApplication.registerService(EmptySubstitutor.class, new EmptySubstitutorImpl());
myApplication.registerService(JavaDirectoryService.class, new CoreJavaDirectoryService());
myApplication.registerService(JavaDirectoryService.class, createJavaDirectoryService());
myApplication.registerService(JavaVersionService.class, new JavaVersionService());
addExplicitExtension(ItemPresentationProviders.INSTANCE, PsiPackage.class, new PackagePresentationProvider());
@@ -80,6 +80,10 @@ public class JavaCoreApplicationEnvironment extends CoreApplicationEnvironment {
addExplicitExtension(ItemPresentationProviders.INSTANCE, PsiParameter.class, new VariablePresentationProvider());
}
protected CoreJavaDirectoryService createJavaDirectoryService() {
return new CoreJavaDirectoryService();
}
public <T> void addExplicitExtension(final ClassExtension<T> instance, final Class clazz, final T object) {
instance.addExplicitExtension(clazz, object);
Disposer.register(getParentDisposable(), new Disposable() {