mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
IDEA-365317 decouple java psi and stubs using stub registry api
cherry-picked from 98da6acabfedf1e2bb0c023fb7c5580404c2b06a GitOrigin-RevId: bdb613280310f9077ff622c5de4d60da5ab97c43
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c5ca662b4b
commit
6711b3db7b
@@ -430,6 +430,12 @@ com.intellij.psi.stubs.StubElement
|
||||
- a:getStubSerializer(com.intellij.psi.tree.IElementType):com.intellij.psi.stubs.ObjectStubSerializer
|
||||
*f:com.intellij.psi.stubs.StubElementRegistryService$Companion
|
||||
- f:getInstance():com.intellij.psi.stubs.StubElementRegistryService
|
||||
*:com.intellij.psi.stubs.StubRegistry
|
||||
- a:registerLightStubFactory(com.intellij.psi.tree.IElementType,com.intellij.psi.stubs.LightStubElementFactory):V
|
||||
- a:registerStubFactory(com.intellij.psi.tree.IElementType,com.intellij.psi.stubs.StubElementFactory):V
|
||||
- a:registerStubSerializer(com.intellij.psi.tree.IElementType,com.intellij.psi.stubs.ObjectStubSerializer):V
|
||||
*:com.intellij.psi.stubs.StubRegistryExtension
|
||||
- a:register(com.intellij.psi.stubs.StubRegistry):V
|
||||
com.intellij.psi.templateLanguages.TemplateLanguageFileViewProvider
|
||||
- com.intellij.psi.FileViewProvider
|
||||
- *:getContentElementType(com.intellij.lang.Language):com.intellij.psi.tree.IElementType
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.psi.stubs
|
||||
|
||||
import com.intellij.psi.tree.IElementType
|
||||
@@ -285,6 +285,7 @@ c:com.intellij.extapi.psi.StubBasedPsiElementBase
|
||||
- getStubOrPsiChild(com.intellij.psi.stubs.IStubElementType):com.intellij.psi.PsiElement
|
||||
- getStubOrPsiChildren(com.intellij.psi.stubs.IStubElementType,com.intellij.util.ArrayFactory):com.intellij.psi.PsiElement[]
|
||||
- getStubOrPsiChildren(com.intellij.psi.stubs.IStubElementType,com.intellij.psi.PsiElement[]):com.intellij.psi.PsiElement[]
|
||||
- getStubOrPsiChildren(com.intellij.psi.tree.IElementType,com.intellij.util.ArrayFactory):com.intellij.psi.PsiElement[]
|
||||
- getStubOrPsiChildren(com.intellij.psi.tree.TokenSet,com.intellij.util.ArrayFactory):com.intellij.psi.PsiElement[]
|
||||
- getStubOrPsiChildren(com.intellij.psi.tree.TokenSet,com.intellij.psi.PsiElement[]):com.intellij.psi.PsiElement[]
|
||||
- p:getStubOrPsiParentOfType(java.lang.Class):com.intellij.psi.PsiElement
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
<applicationService serviceInterface="com.intellij.openapi.vfs.VirtualFileSetFactory"
|
||||
serviceImplementation="com.intellij.openapi.vfs.CompactVirtualFileSetFactory"/>
|
||||
<applicationService serviceInterface="com.intellij.psi.stubs.StubElementRegistryService"
|
||||
serviceImplementation="com.intellij.psi.stubs.CoreStubElementRegistryServiceImpl"/>
|
||||
serviceImplementation="com.intellij.psi.stubs.StubElementRegistryServiceImpl"/>
|
||||
<!-- must be a service because KotlinCodeBlockModificationListener requests it via constructor injection -->
|
||||
<projectService serviceInterface="com.intellij.psi.PsiParserFacade"
|
||||
serviceImplementation="com.intellij.psi.impl.PsiParserFacadeImpl"/>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.core;
|
||||
|
||||
import com.intellij.DynamicBundle;
|
||||
@@ -47,10 +47,7 @@ import com.intellij.psi.PsiReferenceService;
|
||||
import com.intellij.psi.PsiReferenceServiceImpl;
|
||||
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
|
||||
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl;
|
||||
import com.intellij.psi.stubs.CoreStubElementRegistryServiceImpl;
|
||||
import com.intellij.psi.stubs.CoreStubTreeLoader;
|
||||
import com.intellij.psi.stubs.StubElementRegistryService;
|
||||
import com.intellij.psi.stubs.StubTreeLoader;
|
||||
import com.intellij.psi.stubs.*;
|
||||
import com.intellij.util.KeyedLazyInstanceEP;
|
||||
import com.intellij.util.graph.GraphAlgorithms;
|
||||
import com.intellij.util.graph.impl.GraphAlgorithmsImpl;
|
||||
@@ -117,7 +114,9 @@ public class CoreApplicationEnvironment {
|
||||
registerApplicationService(CodeFoldingSettings.class, new CodeFoldingSettings());
|
||||
registerApplicationService(CommandProcessor.class, new CoreCommandProcessor());
|
||||
registerApplicationService(GraphAlgorithms.class, new GraphAlgorithmsImpl());
|
||||
registerApplicationService(StubElementRegistryService.class, new CoreStubElementRegistryServiceImpl());
|
||||
|
||||
registerApplicationExtensionPoint(StubElementRegistryServiceImplKt.STUB_REGISTRY_EP, StubRegistryExtension.class);
|
||||
registerApplicationService(StubElementRegistryService.class, new StubElementRegistryServiceImpl());
|
||||
|
||||
application.registerService(ApplicationInfo.class, ApplicationInfoImpl.class);
|
||||
|
||||
|
||||
@@ -436,9 +436,19 @@ public class StubBasedPsiElementBase<T extends StubElement> extends ASTDelegateP
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #getStubOrPsiChildren(IElementType, ArrayFactory)} instead
|
||||
*
|
||||
* @return children of specified type, taken from stubs (if this element is currently stub-based) or AST (otherwise).
|
||||
*/
|
||||
@Deprecated
|
||||
public <S extends StubElement<?>, Psi extends PsiElement> Psi @NotNull [] getStubOrPsiChildren(@NotNull IStubElementType<S, ? extends Psi> elementType, @NotNull ArrayFactory<? extends Psi> f) {
|
||||
return getStubOrPsiChildren((IElementType)elementType, f);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return children of specified type, taken from stubs (if this element is currently stub-based) or AST (otherwise).
|
||||
*/
|
||||
public <S extends StubElement<?>, Psi extends PsiElement> Psi @NotNull [] getStubOrPsiChildren(@NotNull IElementType elementType, @NotNull ArrayFactory<? extends Psi> f) {
|
||||
T stub = getGreenStub();
|
||||
if (stub != null) {
|
||||
//noinspection unchecked
|
||||
|
||||
@@ -17,12 +17,6 @@ f:com.intellij.psi.search.IndexPattern
|
||||
- *:getWordToHighlight():java.lang.String
|
||||
a:com.intellij.psi.stubs.StubIndex
|
||||
- *a:getMaxContainingFileCount(com.intellij.psi.stubs.StubIndexKey,java.lang.Object,com.intellij.openapi.project.Project,com.intellij.psi.search.GlobalSearchScope):I
|
||||
*:com.intellij.psi.stubs.StubRegistry
|
||||
- a:registerLightStubFactory(com.intellij.psi.tree.IElementType,com.intellij.psi.stubs.LightStubElementFactory):V
|
||||
- a:registerStubFactory(com.intellij.psi.tree.IElementType,com.intellij.psi.stubs.StubElementFactory):V
|
||||
- a:registerStubSerializer(com.intellij.psi.tree.IElementType,com.intellij.psi.stubs.ObjectStubSerializer):V
|
||||
*:com.intellij.psi.stubs.StubRegistryExtension
|
||||
- a:register(com.intellij.psi.stubs.StubRegistry):V
|
||||
*Fa:com.intellij.util.indexing.BuildableRootsChangeRescanningInfo
|
||||
- com.intellij.openapi.project.RootsChangeRescanningInfo
|
||||
- a:addInheritedSdk():com.intellij.util.indexing.BuildableRootsChangeRescanningInfo
|
||||
|
||||
@@ -35,10 +35,6 @@
|
||||
</extensionPoints>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<applicationService serviceInterface="com.intellij.psi.stubs.StubElementRegistryService"
|
||||
serviceImplementation="com.intellij.psi.stubs.StubElementRegistryServiceImpl"
|
||||
overrides="true"/>
|
||||
|
||||
<fileBasedIndex implementation="com.intellij.psi.stubs.StubUpdatingIndex"/>
|
||||
|
||||
<fileBasedIndexLayout id="default"
|
||||
|
||||
Reference in New Issue
Block a user