mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 11:53:49 +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
|
- a:getStubSerializer(com.intellij.psi.tree.IElementType):com.intellij.psi.stubs.ObjectStubSerializer
|
||||||
*f:com.intellij.psi.stubs.StubElementRegistryService$Companion
|
*f:com.intellij.psi.stubs.StubElementRegistryService$Companion
|
||||||
- f:getInstance():com.intellij.psi.stubs.StubElementRegistryService
|
- 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.templateLanguages.TemplateLanguageFileViewProvider
|
||||||
- com.intellij.psi.FileViewProvider
|
- com.intellij.psi.FileViewProvider
|
||||||
- *:getContentElementType(com.intellij.lang.Language):com.intellij.psi.tree.IElementType
|
- *: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
|
package com.intellij.psi.stubs
|
||||||
|
|
||||||
import com.intellij.psi.tree.IElementType
|
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
|
- 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.util.ArrayFactory):com.intellij.psi.PsiElement[]
|
||||||
- getStubOrPsiChildren(com.intellij.psi.stubs.IStubElementType,com.intellij.psi.PsiElement[]):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.util.ArrayFactory):com.intellij.psi.PsiElement[]
|
||||||
- getStubOrPsiChildren(com.intellij.psi.tree.TokenSet,com.intellij.psi.PsiElement[]):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
|
- p:getStubOrPsiParentOfType(java.lang.Class):com.intellij.psi.PsiElement
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
<applicationService serviceInterface="com.intellij.openapi.vfs.VirtualFileSetFactory"
|
<applicationService serviceInterface="com.intellij.openapi.vfs.VirtualFileSetFactory"
|
||||||
serviceImplementation="com.intellij.openapi.vfs.CompactVirtualFileSetFactory"/>
|
serviceImplementation="com.intellij.openapi.vfs.CompactVirtualFileSetFactory"/>
|
||||||
<applicationService serviceInterface="com.intellij.psi.stubs.StubElementRegistryService"
|
<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 -->
|
<!-- must be a service because KotlinCodeBlockModificationListener requests it via constructor injection -->
|
||||||
<projectService serviceInterface="com.intellij.psi.PsiParserFacade"
|
<projectService serviceInterface="com.intellij.psi.PsiParserFacade"
|
||||||
serviceImplementation="com.intellij.psi.impl.PsiParserFacadeImpl"/>
|
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;
|
package com.intellij.core;
|
||||||
|
|
||||||
import com.intellij.DynamicBundle;
|
import com.intellij.DynamicBundle;
|
||||||
@@ -47,10 +47,7 @@ import com.intellij.psi.PsiReferenceService;
|
|||||||
import com.intellij.psi.PsiReferenceServiceImpl;
|
import com.intellij.psi.PsiReferenceServiceImpl;
|
||||||
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
|
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
|
||||||
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl;
|
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl;
|
||||||
import com.intellij.psi.stubs.CoreStubElementRegistryServiceImpl;
|
import com.intellij.psi.stubs.*;
|
||||||
import com.intellij.psi.stubs.CoreStubTreeLoader;
|
|
||||||
import com.intellij.psi.stubs.StubElementRegistryService;
|
|
||||||
import com.intellij.psi.stubs.StubTreeLoader;
|
|
||||||
import com.intellij.util.KeyedLazyInstanceEP;
|
import com.intellij.util.KeyedLazyInstanceEP;
|
||||||
import com.intellij.util.graph.GraphAlgorithms;
|
import com.intellij.util.graph.GraphAlgorithms;
|
||||||
import com.intellij.util.graph.impl.GraphAlgorithmsImpl;
|
import com.intellij.util.graph.impl.GraphAlgorithmsImpl;
|
||||||
@@ -117,7 +114,9 @@ public class CoreApplicationEnvironment {
|
|||||||
registerApplicationService(CodeFoldingSettings.class, new CodeFoldingSettings());
|
registerApplicationService(CodeFoldingSettings.class, new CodeFoldingSettings());
|
||||||
registerApplicationService(CommandProcessor.class, new CoreCommandProcessor());
|
registerApplicationService(CommandProcessor.class, new CoreCommandProcessor());
|
||||||
registerApplicationService(GraphAlgorithms.class, new GraphAlgorithmsImpl());
|
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);
|
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).
|
* @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) {
|
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();
|
T stub = getGreenStub();
|
||||||
if (stub != null) {
|
if (stub != null) {
|
||||||
//noinspection unchecked
|
//noinspection unchecked
|
||||||
|
|||||||
@@ -17,12 +17,6 @@ f:com.intellij.psi.search.IndexPattern
|
|||||||
- *:getWordToHighlight():java.lang.String
|
- *:getWordToHighlight():java.lang.String
|
||||||
a:com.intellij.psi.stubs.StubIndex
|
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
|
- *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
|
*Fa:com.intellij.util.indexing.BuildableRootsChangeRescanningInfo
|
||||||
- com.intellij.openapi.project.RootsChangeRescanningInfo
|
- com.intellij.openapi.project.RootsChangeRescanningInfo
|
||||||
- a:addInheritedSdk():com.intellij.util.indexing.BuildableRootsChangeRescanningInfo
|
- a:addInheritedSdk():com.intellij.util.indexing.BuildableRootsChangeRescanningInfo
|
||||||
|
|||||||
@@ -35,10 +35,6 @@
|
|||||||
</extensionPoints>
|
</extensionPoints>
|
||||||
|
|
||||||
<extensions defaultExtensionNs="com.intellij">
|
<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"/>
|
<fileBasedIndex implementation="com.intellij.psi.stubs.StubUpdatingIndex"/>
|
||||||
|
|
||||||
<fileBasedIndexLayout id="default"
|
<fileBasedIndexLayout id="default"
|
||||||
|
|||||||
Reference in New Issue
Block a user