public JavaCoreProjectEnvironment(Disposable parentDisposable, CoreApplicationEnvironment applicationEnvironment) { super(parentDisposable, applicationEnvironment); myProject.registerService(PsiElementFactory.class, new PsiElementFactoryImpl(myPsiManager)); myProject.registerService(JavaPsiImplementationHelper.class, createJavaPsiImplementationHelper()); myProject.registerService(PsiResolveHelper.class, new PsiResolveHelperImpl(myPsiManager)); myProject.registerService(LanguageLevelProjectExtension.class, new CoreLanguageLevelProjectExtension()); myProject.registerService(JavaResolveCache.class, new JavaResolveCache(myMessageBus)); myProject.registerService(JavaCodeStyleSettingsFacade.class, new CoreJavaCodeStyleSettingsFacade()); myProject.registerService(JavaCodeStyleManager.class, new CoreJavaCodeStyleManager()); registerProjectExtensionPoint(PsiElementFinder.EP_NAME, PsiElementFinder.class); myPackageIndex = createCorePackageIndex(); myProject.registerService(PackageIndex.class, myPackageIndex); myFileManager = createCoreFileManager(); myProject.registerService(JavaFileManager.class, myFileManager); JavaPsiFacadeImpl javaPsiFacade = new JavaPsiFacadeImpl(myProject, myPsiManager, myFileManager, myMessageBus); registerProjectComponent(JavaPsiFacade.class, javaPsiFacade); myProject.registerService(JavaPsiFacade.class, javaPsiFacade); }
public JavaCoreProjectEnvironment(Disposable parentDisposable, CoreApplicationEnvironment applicationEnvironment) { super(parentDisposable, applicationEnvironment); myProject.registerService(PsiElementFactory.class, new PsiElementFactoryImpl(myPsiManager)); myProject.registerService(JavaPsiImplementationHelper.class, createJavaPsiImplementationHelper()); myProject.registerService(PsiResolveHelper.class, new PsiResolveHelperImpl(myPsiManager)); myProject.registerService(JavaResolveCache.class, new JavaResolveCache(myMessageBus)); myProject.registerService(JavaCodeStyleSettingsFacade.class, new CoreJavaCodeStyleSettingsFacade()); myProject.registerService(JavaCodeStyleManager.class, new CoreJavaCodeStyleManager()); registerProjectExtensionPoint(PsiElementFinder.EP_NAME, PsiElementFinder.class); /* myPackageIndex = createCorePackageIndex(); myProject.registerService(PackageIndex.class, myPackageIndex); */ myFileManager = createCoreFileManager(); myProject.registerService(JavaFileManager.class, myFileManager); PsiPackageManager manager = new PsiPackageManagerImpl(getProject(), DirectoryIndex.getInstance(getProject())); myProject.registerService(PsiPackageManager.class, manager); JavaPsiFacadeImpl javaPsiFacade = new JavaPsiFacadeImpl(myProject, manager); registerProjectComponent(JavaPsiFacade.class, javaPsiFacade); myProject.registerService(JavaPsiFacade.class, javaPsiFacade); }
public static PackagePrefixElementFinder getInstance(Project project) { for (PsiElementFinder o : Extensions.getExtensions(PsiElementFinder.EP_NAME, project)) { if (o instanceof PackagePrefixElementFinder) { return (PackagePrefixElementFinder) o; } } throw new UnsupportedOperationException("couldn't find self"); }
@Override public SearchScope getAdditionalResolveScope(@NotNull VirtualFile file, Project project) { String fileExtension = file.getExtension(); if (GroovyFileType.DEFAULT_EXTENSION.equals(fileExtension)) { GradleClassFinder gradleClassFinder = Extensions.findExtension(PsiElementFinder.EP_NAME, project, GradleClassFinder.class); final List<VirtualFile> roots = gradleClassFinder.getClassRoots(); for (VirtualFile root : roots) { if (VfsUtilCore.isAncestor(root, file, true)) { return NonClasspathDirectoriesScope.compose(roots); } } } return null; }
public ProjectEnvironment(CoreProjectEnvironment projectEnvironment) { MockProject project = projectEnvironment.getProject(); project.registerService(GroovyPsiElementFactory.class, GroovyPsiElementFactoryImpl.class); project.registerService(GroovyPsiManager.class, GroovyPsiManager.class); project.registerService(GroovyCodeStyleManager.class, CoreGroovyCodeStyleManager.class); project.registerService(GroovyCodeStyleSettingsFacade.class, CoreGroovyCodeStyleSettingsFacade.class); project.registerService(GroovyExtensionProvider.class, GroovyExtensionProvider.class); projectEnvironment.addProjectExtension(PsiShortNamesCache.EP_NAME, new GroovyShortNamesCache(project)); projectEnvironment.addProjectExtension(PsiElementFinder.EP_NAME, new GroovyClassFinder(project)); TextEditorHighlightingPassRegistrar registrar = TextEditorHighlightingPassRegistrar.getInstance(project); projectEnvironment.registerProjectComponent(GroovyUnusedImportsPassFactory.class, new GroovyUnusedImportsPassFactory(project, registrar)); projectEnvironment.registerProjectComponent(GrKeywordAndDeclarationHighlightFactory.class, new GrKeywordAndDeclarationHighlightFactory(project, registrar)); projectEnvironment.registerProjectComponent(GrReferenceHighlighterFactory.class, new GrReferenceHighlighterFactory(project, registrar)); }
@Override public void loadState(SdkHomeBean state) { SdkHomeBean oldState = getState(); super.loadState(state); if (oldState != null) { Extensions.findExtension(PsiElementFinder.EP_NAME, myProject, GantClassFinder.class).clearCache(); } }
public void setAlternativeJre(Sdk sdk) { myAlternativeJre = sdk; Extensions.findExtension(PsiElementFinder.EP_NAME, getProject(), AlternativeJreClassFinder.class).clearCache(); }